home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 …ember: Reference Library / Apple Developer Reference Library (December 1999) (Disk 1).iso / pc / technical documentation / develop / develop issue 19 / develop issue 19 code / adding gx printing to qd É.sea / Adding GX Printing to QD Apps / Simple Sample ƒ / file.c < prev    next >
MacBinary  |  1994-04-15  |  12.5 KB  |  [TEXT/KAHL]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
10% dexvert Jesper Olsen Module (music/jesperOlsen) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Fri Apr 15 01:17:45 1994, modified Fri Apr 15 01:17:45 1994, creator Think C, type ASCII, 12100 bytes "file.c" , at 0x2fc4 512 bytes resource default (weak)
99% file data default
49% TrID Macintosh plain text (MacBinary) default
33% TrID TTComp archive compressed (bin-4K) default (weak)
16% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[KAHL]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 06 66 69 6c 65 2e 63 | 00 00 00 00 00 00 00 00 |..file.c|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4b 41 48 | 4c 01 00 00 00 00 00 00 |.TEXTKAH|L.......|
|00000050| 00 00 00 00 00 2f 44 00 | 00 02 00 a9 d3 d3 f9 a9 |...../D.|........|
|00000060| d3 d3 f9 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 89 43 00 00 |........|.....C..|
|00000080| 2f 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/*******|********|
|00000090| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000c0| 2a 2a 2a 2a 2a 2a 0d 0d | 09 66 69 6c 65 73 2e 63 |******..|.files.c|
|000000d0| 0d 09 0d 09 54 68 69 73 | 20 66 69 6c 65 20 63 6f |....This| file co|
|000000e0| 6e 74 61 69 6e 73 20 74 | 68 65 20 66 69 6c 65 20 |ntains t|he file |
|000000f0| 49 2f 4f 20 63 6f 64 65 | 20 66 6f 72 20 74 68 65 |I/O code| for the|
|00000100| 20 51 75 69 63 6b 44 72 | 61 77 20 47 58 20 75 6e | QuickDr|aw GX un|
|00000110| 61 77 61 72 65 0d 09 73 | 61 6d 70 6c 65 2c 20 22 |aware..s|ample, "|
|00000120| 53 69 6d 70 6c 65 20 53 | 61 6d 70 6c 65 2e 22 0d |Simple S|ample.".|
|00000130| 09 0d 09 41 64 64 69 74 | 69 6f 6e 61 6c 20 69 6e |...Addit|ional in|
|00000140| 66 6f 20 63 61 6e 20 62 | 65 20 66 6f 75 6e 64 20 |fo can b|e found |
|00000150| 69 6e 20 74 68 65 20 72 | 65 6c 61 74 65 64 20 64 |in the r|elated d|
|00000160| 65 76 65 6c 6f 70 20 23 | 31 39 20 61 72 74 69 63 |evelop #|19 artic|
|00000170| 6c 65 2c 0d 09 22 41 64 | 64 69 6e 67 20 51 75 69 |le,.."Ad|ding Qui|
|00000180| 63 6b 44 72 61 77 20 47 | 58 20 50 72 69 6e 74 69 |ckDraw G|X Printi|
|00000190| 6e 67 20 74 6f 20 51 75 | 69 63 6b 44 72 61 77 20 |ng to Qu|ickDraw |
|000001a0| 41 70 70 6c 69 63 61 74 | 69 6f 6e 73 2e 22 0d 0d |Applicat|ions."..|
|000001b0| 09 44 61 76 65 20 48 65 | 72 73 65 79 2c 20 41 70 |.Dave He|rsey, Ap|
|000001c0| 70 6c 65 20 44 65 76 65 | 6c 6f 70 65 72 20 54 65 |ple Deve|loper Te|
|000001d0| 63 68 6e 69 63 61 6c 20 | 53 75 70 70 6f 72 74 2e |chnical |Support.|
|000001e0| 0d 09 0d 09 d1 d1 d1 d1 | d1 d1 d1 20 45 64 69 74 |........|... Edit|
|000001f0| 20 54 72 61 69 6c 20 d1 | d1 d1 d1 d1 d1 d1 0d 09 | Trail .|........|
|00000200| 0d 09 68 61 74 63 68 65 | 64 3a 09 09 09 09 09 09 |..hatche|d:......|
|00000210| 09 09 09 09 31 2f 32 32 | 2f 39 34 20 20 2d 20 64 |....1/22|/94 - d|
|00000220| 6d 68 0d 09 63 6c 65 61 | 6e 65 64 20 75 70 20 66 |mh..clea|ned up f|
|00000230| 6f 72 20 32 6e 64 20 64 | 72 61 66 74 20 6f 66 20 |or 2nd d|raft of |
|00000240| 64 65 76 65 6c 6f 70 20 | 61 72 74 69 63 6c 65 3a |develop |article:|
|00000250| 09 33 2f 31 30 2f 39 34 | 20 20 2d 20 64 6d 68 0d |.3/10/94| - dmh.|
|00000260| 09 63 6c 65 61 6e 65 64 | 20 75 70 20 66 6f 72 20 |.cleaned| up for |
|00000270| 66 69 6e 61 6c 3a 09 09 | 09 09 09 09 09 34 2f 31 |final:..|.....4/1|
|00000280| 34 2f 39 34 20 20 2d 20 | 64 6d 68 0d 09 0d 2a 2a |4/94 - |dmh...**|
|00000290| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000002a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000002b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000002c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000002d0| 2a 2a 2a 2f 0d 0d 23 69 | 6e 63 6c 75 64 65 20 22 |***/..#i|nclude "|
|000002e0| 53 69 6d 70 6c 65 20 53 | 61 6d 70 6c 65 2e 68 22 |Simple S|ample.h"|
|000002f0| 0d 0d 0d 2f 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.../****|********|
|00000300| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000310| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000320| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000330| 0d 20 20 4d 79 4c 6f 61 | 64 44 6f 63 75 6d 65 6e |. MyLoa|dDocumen|
|00000340| 74 20 2d 20 54 68 69 73 | 20 72 6f 75 74 69 6e 65 |t - This| routine|
|00000350| 20 6c 6f 61 64 73 20 61 | 20 70 72 65 76 69 6f 75 | loads a| previou|
|00000360| 73 6c 79 20 73 61 76 65 | 64 0d 20 20 64 6f 63 75 |sly save|d. docu|
|00000370| 6d 65 6e 74 2e 0d 0d 2a | 2a 2a 2a 2a 2a 2a 2a 2a |ment...*|********|
|00000380| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000390| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000003a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000003b0| 2a 2a 2a 2a 2f 0d 0d 4f | 53 45 72 72 20 4d 79 4c |****/..O|SErr MyL|
|000003c0| 6f 61 64 44 6f 63 75 6d | 65 6e 74 28 4d 79 44 6f |oadDocum|ent(MyDo|
|000003d0| 63 75 6d 65 6e 74 50 74 | 72 20 77 68 69 63 68 44 |cumentPt|r whichD|
|000003e0| 6f 63 75 6d 65 6e 74 29 | 0d 7b 0d 09 4f 53 45 72 |ocument)|.{..OSEr|
|000003f0| 72 09 09 09 09 65 72 72 | 3b 0d 09 73 68 6f 72 74 |r....err|;..short|
|00000400| 09 09 09 09 6f 6c 64 52 | 65 73 46 69 6c 65 2c 20 |....oldR|esFile, |
|00000410| 64 61 74 61 52 65 66 4e | 75 6d 20 3d 20 2d 31 2c |dataRefN|um = -1,|
|00000420| 20 72 65 73 52 65 66 4e | 75 6d 20 3d 20 2d 31 3b | resRefN|um = -1;|
|00000430| 0d 09 53 74 61 6e 64 61 | 72 64 46 69 6c 65 52 65 |..Standa|rdFileRe|
|00000440| 70 6c 79 09 73 66 52 65 | 70 6c 79 3b 0d 09 53 46 |ply.sfRe|ply;..SF|
|00000450| 54 79 70 65 4c 69 73 74 | 09 09 09 6d 79 54 79 70 |TypeList|...myTyp|
|00000460| 65 4c 69 73 74 3b 0d 09 | 57 69 6e 64 6f 77 50 74 |eList;..|WindowPt|
|00000470| 72 09 09 09 63 75 72 57 | 69 6e 64 6f 77 3b 0d 09 |r...curW|indow;..|
|00000480| 4d 79 44 6f 63 75 6d 65 | 6e 74 50 74 72 09 09 77 |MyDocume|ntPtr..w|
|00000490| 69 6e 64 44 6f 63 3b 0d | 09 42 6f 6f 6c 65 61 6e |indDoc;.|.Boolean|
|000004a0| 09 09 09 09 6e 6f 74 41 | 6c 72 65 61 64 79 4f 70 |....notA|lreadyOp|
|000004b0| 65 6e 3b 0d 0d 2f 2f 20 | 4c 65 74 20 74 68 65 20 |en;..// |Let the |
|000004c0| 75 73 65 72 20 73 65 6c | 65 63 74 20 61 20 64 6f |user sel|ect a do|
|000004d0| 63 75 6d 65 6e 74 20 74 | 6f 20 6f 70 65 6e 2e 0d |cument t|o open..|
|000004e0| 0d 09 6d 79 54 79 70 65 | 4c 69 73 74 5b 30 5d 20 |..myType|List[0] |
|000004f0| 3d 20 6b 4d 79 44 6f 63 | 54 79 70 65 3b 0d 09 53 |= kMyDoc|Type;..S|
|00000500| 74 61 6e 64 61 72 64 47 | 65 74 46 69 6c 65 28 6e |tandardG|etFile(n|
|00000510| 69 6c 2c 20 31 2c 20 6d | 79 54 79 70 65 4c 69 73 |il, 1, m|yTypeLis|
|00000520| 74 2c 20 26 73 66 52 65 | 70 6c 79 29 3b 0d 09 72 |t, &sfRe|ply);..r|
|00000530| 65 71 75 69 72 65 5f 61 | 63 74 69 6f 6e 28 73 66 |equire_a|ction(sf|
|00000540| 52 65 70 6c 79 2e 73 66 | 47 6f 6f 64 2c 20 55 73 |Reply.sf|Good, Us|
|00000550| 65 72 48 61 73 43 61 6e | 63 65 6c 6c 65 64 2c 20 |erHasCan|celled, |
|00000560| 65 72 72 20 3d 20 69 50 | 72 41 62 6f 72 74 3b 29 |err = iP|rAbort;)|
|00000570| 3b 0d 0d 2f 2a 0d 09 4d | 61 6b 65 20 73 75 72 65 |;../*..M|ake sure|
|00000580| 20 74 68 61 74 20 77 65 | 20 68 61 76 65 6e 27 74 | that we| haven't|
|00000590| 20 61 6c 72 65 61 64 79 | 20 6f 70 65 6e 65 64 20 | already| opened |
|000005a0| 74 68 69 73 20 64 6f 63 | 75 6d 65 6e 74 2e 20 49 |this doc|ument. I|
|000005b0| 66 0d 09 77 65 20 68 61 | 76 65 2c 20 6a 75 73 74 |f..we ha|ve, just|
|000005c0| 20 62 72 69 6e 67 20 74 | 68 65 20 6f 6c 64 20 77 | bring t|he old w|
|000005d0| 69 6e 64 6f 77 20 66 6f | 72 77 61 72 64 2e 0d 2a |indow fo|rward..*|
|000005e0| 2f 0d 09 6e 72 65 71 75 | 69 72 65 5f 61 63 74 69 |/..nrequ|ire_acti|
|000005f0| 6f 6e 28 4d 79 49 73 57 | 69 6e 64 6f 77 41 6c 72 |on(MyIsW|indowAlr|
|00000600| 65 61 64 79 4f 70 65 6e | 28 26 73 66 52 65 70 6c |eadyOpen|(&sfRepl|
|00000610| 79 2e 73 66 46 69 6c 65 | 29 2c 0d 09 09 09 09 09 |y.sfFile|),......|
|00000620| 44 6f 63 49 73 41 6c 72 | 65 61 64 79 4f 70 65 6e |DocIsAlr|eadyOpen|
|00000630| 2c 20 65 72 72 20 3d 20 | 69 50 72 41 62 6f 72 74 |, err = |iPrAbort|
|00000640| 3b 29 3b 0d 0d 2f 2f 20 | 4f 70 65 6e 20 74 68 65 |;);..// |Open the|
|00000650| 20 73 65 6c 65 63 74 65 | 64 20 66 69 6c 65 27 73 | selecte|d file's|
|00000660| 20 64 61 74 61 20 66 6f | 72 6b 20 61 6e 64 20 72 | data fo|rk and r|
|00000670| 65 73 6f 75 72 63 65 20 | 66 6f 72 6b 2e 0d 0d 09 |esource |fork....|
|00000680| 65 72 72 20 3d 20 46 53 | 70 4f 70 65 6e 44 46 28 |err = FS|pOpenDF(|
|00000690| 26 73 66 52 65 70 6c 79 | 2e 73 66 46 69 6c 65 2c |&sfReply|.sfFile,|
|000006a0| 20 66 73 52 64 57 72 50 | 65 72 6d 2c 20 26 64 61 | fsRdWrP|erm, &da|
|000006b0| 74 61 52 65 66 4e 75 6d | 29 3b 0d 09 6e 72 65 71 |taRefNum|);..nreq|
|000006c0| 75 69 72 65 28 65 72 72 | 2c 20 43 6f 75 6c 64 4e |uire(err|, CouldN|
|000006d0| 6f 74 4f 70 65 6e 44 61 | 74 61 46 6f 72 6b 29 3b |otOpenDa|taFork);|
|000006e0| 0d 0d 09 72 65 73 52 65 | 66 4e 75 6d 20 3d 20 48 |...resRe|fNum = H|
|000006f0| 4f 70 65 6e 52 65 73 46 | 69 6c 65 28 73 66 52 65 |OpenResF|ile(sfRe|
|00000700| 70 6c 79 2e 73 66 46 69 | 6c 65 2e 76 52 65 66 4e |ply.sfFi|le.vRefN|
|00000710| 75 6d 2c 20 73 66 52 65 | 70 6c 79 2e 73 66 46 69 |um, sfRe|ply.sfFi|
|00000720| 6c 65 2e 70 61 72 49 44 | 2c 0d 09 09 09 09 09 09 |le.parID|,.......|
|00000730| 09 20 73 66 52 65 70 6c | 79 2e 73 66 46 69 6c 65 |. sfRepl|y.sfFile|
|00000740| 2e 6e 61 6d 65 2c 20 66 | 73 52 64 50 65 72 6d 29 |.name, f|sRdPerm)|
|00000750| 3b 0d 0d 09 65 72 72 20 | 3d 20 52 65 73 45 72 72 |;...err |= ResErr|
|00000760| 6f 72 28 29 3b 0d 09 6e | 72 65 71 75 69 72 65 28 |or();..n|require(|
|00000770| 65 72 72 2c 20 43 6f 75 | 6c 64 4e 6f 74 4f 70 65 |err, Cou|ldNotOpe|
|00000780| 6e 52 65 73 6f 75 72 63 | 65 46 6f 72 6b 29 3b 0d |nResourc|eFork);.|
|00000790| 0d 2f 2a 0d 09 49 66 20 | 77 65 27 72 65 20 73 75 |./*..If |we're su|
|000007a0| 63 63 65 73 73 66 75 6c | 20 69 6e 20 6f 70 65 6e |ccessful| in open|
|000007b0| 69 6e 67 20 74 68 65 20 | 66 69 6c 65 2c 20 73 65 |ing the |file, se|
|000007c0| 74 20 6f 75 72 20 64 6f | 63 75 6d 65 6e 74 27 73 |t our do|cument's|
|000007d0| 0d 09 46 53 53 70 65 63 | 20 69 6e 66 6f 2c 20 69 |..FSSpec| info, i|
|000007e0| 74 73 20 74 69 74 6c 65 | 2c 20 61 6e 64 20 69 74 |ts title|, and it|
|000007f0| 73 20 77 69 6e 64 6f 77 | 27 73 20 74 69 74 6c 65 |s window|'s title|
|00000800| 2e 0d 2a 2f 0d 0d 09 6f | 6c 64 52 65 73 46 69 6c |..*/...o|ldResFil|
|00000810| 65 20 3d 20 43 75 72 52 | 65 73 46 69 6c 65 28 29 |e = CurR|esFile()|
|00000820| 3b 0d 09 0d 09 42 6c 6f | 63 6b 4d 6f 76 65 28 26 |;....Blo|ckMove(&|
|00000830| 73 66 52 65 70 6c 79 2e | 73 66 46 69 6c 65 2c 20 |sfReply.|sfFile, |
|00000840| 26 77 68 69 63 68 44 6f | 63 75 6d 65 6e 74 2d 3e |&whichDo|cument->|
|00000850| 64 6f 63 75 6d 65 6e 74 | 46 53 53 70 65 63 2c 20 |document|FSSpec, |
|00000860| 73 69 7a 65 6f 66 28 46 | 53 53 70 65 63 29 29 3b |sizeof(F|SSpec));|
|00000870| 0d 09 42 6c 6f 63 6b 4d | 6f 76 65 28 26 73 66 52 |..BlockM|ove(&sfR|
|00000880| 65 70 6c 79 2e 73 66 46 | 69 6c 65 2e 6e 61 6d 65 |eply.sfF|ile.name|
|00000890| 2c 20 77 68 69 63 68 44 | 6f 63 75 6d 65 6e 74 2d |, whichD|ocument-|
|000008a0| 3e 64 6f 63 75 6d 65 6e | 74 54 69 74 6c 65 2c 0d |>documen|tTitle,.|
|000008b0| 09 09 09 20 20 28 6c 6f | 6e 67 29 20 73 66 52 65 |... (lo|ng) sfRe|
|000008c0| 70 6c 79 2e 73 66 46 69 | 6c 65 2e 6e 61 6d 65 5b |ply.sfFi|le.name[|
|000008d0| 30 5d 20 2b 31 29 3b 0d | 09 0d 09 53 65 74 57 54 |0] +1);.|...SetWT|
|000008e0| 69 74 6c 65 28 77 68 69 | 63 68 44 6f 63 75 6d 65 |itle(whi|chDocume|
|000008f0| 6e 74 2d 3e 64 6f 63 75 | 6d 65 6e 74 57 69 6e 64 |nt->docu|mentWind|
|00000900| 6f 77 2c 20 77 68 69 63 | 68 44 6f 63 75 6d 65 6e |ow, whic|hDocumen|
|00000910| 74 2d 3e 64 6f 63 75 6d | 65 6e 74 54 69 74 6c 65 |t->docum|entTitle|
|00000920| 29 3b 0d 09 65 72 72 20 | 3d 20 4d 79 4c 6f 61 64 |);..err |= MyLoad|
|00000930| 50 72 69 6e 74 49 6e 66 | 6f 28 77 68 69 63 68 44 |PrintInf|o(whichD|
|00000940| 6f 63 75 6d 65 6e 74 2c | 20 72 65 73 52 65 66 4e |ocument,| resRefN|
|00000950| 75 6d 29 3b 0d 0d 2f 2f | 20 4e 6f 77 20 6c 6f 61 |um);..//| Now loa|
|00000960| 64 20 74 68 65 20 64 61 | 74 61 20 66 6f 72 20 6f |d the da|ta for o|
|00000970| 75 72 20 64 6f 63 75 6d | 65 6e 74 27 73 20 70 61 |ur docum|ent's pa|
|00000980| 67 65 73 2e 0d 0d 09 77 | 68 69 63 68 44 6f 63 75 |ges....w|hichDocu|
|00000990| 6d 65 6e 74 2d 3e 6e 75 | 6d 50 61 67 65 73 20 3d |ment->nu|mPages =|
|000009a0| 20 4d 79 4c 6f 61 64 50 | 61 67 65 43 6f 75 6e 74 | MyLoadP|ageCount|
|000009b0| 28 72 65 73 52 65 66 4e | 75 6d 29 3b 0d 09 77 68 |(resRefN|um);..wh|
|000009c0| 69 63 68 44 6f 63 75 6d | 65 6e 74 2d 3e 63 75 72 |ichDocum|ent->cur|
|000009d0| 50 61 67 65 20 3d 20 31 | 3b 0d 0d 09 2f 2a 20 0d |Page = 1|;.../* .|
|000009e0| 09 09 50 6c 61 63 65 20 | 79 6f 75 72 20 61 70 70 |..Place |your app|
|000009f0| 6c 69 63 61 74 69 6f 6e | 2d 73 70 65 63 69 66 69 |lication|-specifi|
|00000a00| 63 20 63 6f 64 65 20 68 | 65 72 65 20 74 6f 20 6c |c code h|ere to l|
|00000a10| 6f 61 64 20 0d 09 09 6f | 74 68 65 72 20 64 61 74 |oad ...o|ther dat|
|00000a20| 61 20 61 73 73 6f 63 69 | 61 74 65 64 20 77 69 74 |a associ|ated wit|
|00000a30| 68 20 74 68 65 20 64 6f | 63 75 6d 65 6e 74 2e 0d |h the do|cument..|
|00000a40| 09 09 2e 0d 09 09 2e 0d | 09 09 2e 0d 09 2a 2f 0d |........|.....*/.|
|00000a50| 0d 09 4d 79 41 64 6a 75 | 73 74 4d 65 6e 75 73 28 |..MyAdju|stMenus(|
|00000a60| 29 3b 0d 0d 2f 2f 20 43 | 6c 6f 73 65 20 74 68 65 |);..// C|lose the|
|00000a70| 20 64 61 74 61 20 61 6e | 64 20 72 65 73 6f 75 72 | data an|d resour|
|00000a80| 63 65 20 66 6f 72 6b 73 | 20 6f 66 20 74 68 69 73 |ce forks| of this|
|00000a90| 20 64 6f 63 75 6d 65 6e | 74 2e 0d 0d 09 55 73 65 | documen|t....Use|
|00000aa0| 52 65 73 46 69 6c 65 28 | 6f 6c 64 52 65 73 46 69 |ResFile(|oldResFi|
|00000ab0| 6c 65 29 3b 0d 09 43 6c | 6f 73 65 52 65 73 46 69 |le);..Cl|oseResFi|
|00000ac0| 6c 65 28 72 65 73 52 65 | 66 4e 75 6d 29 3b 0d 0d |le(resRe|fNum);..|
|00000ad0| 43 6f 75 6c 64 4e 6f 74 | 4f 70 65 6e 52 65 73 6f |CouldNot|OpenReso|
|00000ae0| 75 72 63 65 46 6f 72 6b | 3a 0d 09 46 53 43 6c 6f |urceFork|:..FSClo|
|00000af0| 73 65 28 64 61 74 61 52 | 65 66 4e 75 6d 29 3b 0d |se(dataR|efNum);.|
|00000b00| 0d 43 6f 75 6c 64 4e 6f | 74 4f 70 65 6e 44 61 74 |.CouldNo|tOpenDat|
|00000b10| 61 46 6f 72 6b 3a 0d 44 | 6f 63 49 73 41 6c 72 65 |aFork:.D|ocIsAlre|
|00000b20| 61 64 79 4f 70 65 6e 3a | 0d 55 73 65 72 48 61 73 |adyOpen:|.UserHas|
|00000b30| 43 61 6e 63 65 6c 6c 65 | 64 3a 0d 09 72 65 74 75 |Cancelle|d:..retu|
|00000b40| 72 6e 20 65 72 72 3b 0d | 7d 0d 0d 0d 2f 2a 2a 2a |rn err;.|}.../***|
|00000b50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000b60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000b70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000b80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 20 20 4d 79 46 53 |********|*. MyFS|
|00000b90| 4c 6f 61 64 44 6f 63 75 | 6d 65 6e 74 20 2d 20 54 |LoadDocu|ment - T|
|00000ba0| 68 69 73 20 72 6f 75 74 | 69 6e 65 20 6f 70 65 6e |his rout|ine open|
|00000bb0| 73 20 61 20 64 6f 63 75 | 6d 65 6e 74 20 61 6e 64 |s a docu|ment and|
|00000bc0| 20 6c 6f 61 64 73 0d 20 | 20 69 74 73 20 70 72 65 | loads. | its pre|
|00000bd0| 76 69 6f 75 73 6c 79 20 | 73 61 76 65 64 20 70 72 |viously |saved pr|
|00000be0| 69 6e 74 20 72 65 63 6f | 72 64 2e 20 20 49 74 27 |int reco|rd. It'|
|00000bf0| 73 20 6a 75 73 74 20 6c | 69 6b 65 0d 20 20 4d 79 |s just l|ike. My|
|00000c00| 4c 6f 61 64 44 6f 63 75 | 6d 65 6e 74 2c 20 62 75 |LoadDocu|ment, bu|
|00000c10| 74 20 69 74 20 6f 70 65 | 6e 73 20 74 68 65 20 69 |t it ope|ns the i|
|00000c20| 6e 64 69 63 61 74 65 64 | 20 66 69 6c 65 20 61 6e |ndicated| file an|
|00000c30| 64 0d 20 20 64 6f 65 73 | 6e 27 74 20 70 72 65 73 |d. does|n't pres|
|00000c40| 65 6e 74 20 61 20 66 69 | 6c 65 20 64 69 61 6c 6f |ent a fi|le dialo|
|00000c50| 67 2e 0d 0d 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |g...****|********|
|00000c60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c90| 2a 2f 0d 0d 4f 53 45 72 | 72 20 4d 79 46 53 4c 6f |*/..OSEr|r MyFSLo|
|00000ca0| 61 64 44 6f 63 75 6d 65 | 6e 74 28 4d 79 44 6f 63 |adDocume|nt(MyDoc|
|00000cb0| 75 6d 65 6e 74 50 74 72 | 20 77 68 69 63 68 44 6f |umentPtr| whichDo|
|00000cc0| 63 75 6d 65 6e 74 2c 20 | 46 53 53 70 65 63 20 2a |cument, |FSSpec *|
|00000cd0| 64 6f 63 46 53 53 70 65 | 63 2c 20 42 6f 6f 6c 65 |docFSSpe|c, Boole|
|00000ce0| 61 6e 20 66 6f 72 50 72 | 69 6e 74 69 6e 67 29 0d |an forPr|inting).|
|00000cf0| 7b 0d 09 4f 53 45 72 72 | 09 09 65 72 72 3b 0d 09 |{..OSErr|..err;..|
|00000d00| 73 68 6f 72 74 09 09 6f | 6c 64 52 65 73 46 69 6c |short..o|ldResFil|
|00000d10| 65 2c 20 64 61 74 61 52 | 65 66 4e 75 6d 2c 20 72 |e, dataR|efNum, r|
|00000d20| 65 73 52 65 66 4e 75 6d | 3b 0d 0d 2f 2a 0d 09 55 |esRefNum|;../*..U|
|00000d30| 6e 6c 65 73 73 20 77 65 | 27 72 65 20 70 72 69 6e |nless we|'re prin|
|00000d40| 74 69 6e 67 2c 20 6d 61 | 6b 65 20 73 75 72 65 20 |ting, ma|ke sure |
|00000d50| 74 68 61 74 20 77 65 20 | 68 61 76 65 6e 27 74 20 |that we |haven't |
|00000d60| 61 6c 72 65 61 64 79 20 | 6f 70 65 6e 65 64 0d 09 |already |opened..|
|00000d70| 74 68 69 73 20 64 6f 63 | 75 6d 65 6e 74 2e 20 49 |this doc|ument. I|
|00000d80| 66 20 77 65 20 68 61 76 | 65 2c 20 6a 75 73 74 20 |f we hav|e, just |
|00000d90| 62 72 69 6e 67 20 74 68 | 65 20 6f 6c 64 20 77 69 |bring th|e old wi|
|00000da0| 6e 64 6f 77 20 66 6f 72 | 77 61 72 64 2e 0d 2a 2f |ndow for|ward..*/|
|00000db0| 0d 0d 09 72 65 71 75 69 | 72 65 5f 61 63 74 69 6f |...requi|re_actio|
|00000dc0| 6e 28 66 6f 72 50 72 69 | 6e 74 69 6e 67 20 7c 7c |n(forPri|nting |||
|00000dd0| 20 21 4d 79 49 73 57 69 | 6e 64 6f 77 41 6c 72 65 | !MyIsWi|ndowAlre|
|00000de0| 61 64 79 4f 70 65 6e 28 | 64 6f 63 46 53 53 70 65 |adyOpen(|docFSSpe|
|00000df0| 63 29 2c 0d 09 09 09 09 | 20 20 20 44 6f 63 49 73 |c),.....| DocIs|
|00000e00| 41 6c 72 65 61 64 79 4f | 70 65 6e 2c 20 65 72 72 |AlreadyO|pen, err|
|00000e10| 20 3d 20 69 50 72 41 62 | 6f 72 74 3b 29 3b 0d 0d | = iPrAb|ort;);..|
|00000e20| 2f 2f 20 4f 70 65 6e 20 | 74 68 65 20 73 65 6c 65 |// Open |the sele|
|00000e30| 63 74 65 64 20 66 69 6c | 65 27 73 20 64 61 74 61 |cted fil|e's data|
|00000e40| 20 66 6f 72 6b 20 61 6e | 64 20 72 65 73 6f 75 72 | fork an|d resour|
|00000e50| 63 65 20 66 6f 72 6b 2e | 0d 0d 09 65 72 72 20 3d |ce fork.|...err =|
|00000e60| 20 46 53 70 4f 70 65 6e | 44 46 28 64 6f 63 46 53 | FSpOpen|DF(docFS|
|00000e70| 53 70 65 63 2c 20 66 73 | 52 64 57 72 50 65 72 6d |Spec, fs|RdWrPerm|
|00000e80| 2c 20 26 64 61 74 61 52 | 65 66 4e 75 6d 29 3b 0d |, &dataR|efNum);.|
|00000e90| 09 6e 72 65 71 75 69 72 | 65 28 65 72 72 2c 20 43 |.nrequir|e(err, C|
|00000ea0| 6f 75 6c 64 4e 6f 74 4f | 70 65 6e 44 61 74 61 46 |ouldNotO|penDataF|
|00000eb0| 6f 72 6b 29 3b 0d 0d 09 | 72 65 73 52 65 66 4e 75 |ork);...|resRefNu|
|00000ec0| 6d 20 3d 20 48 4f 70 65 | 6e 52 65 73 46 69 6c 65 |m = HOpe|nResFile|
|00000ed0| 28 64 6f 63 46 53 53 70 | 65 63 2d 3e 76 52 65 66 |(docFSSp|ec->vRef|
|00000ee0| 4e 75 6d 2c 20 64 6f 63 | 46 53 53 70 65 63 2d 3e |Num, doc|FSSpec->|
|00000ef0| 70 61 72 49 44 2c 20 64 | 6f 63 46 53 53 70 65 63 |parID, d|ocFSSpec|
|00000f00| 2d 3e 6e 61 6d 65 2c 20 | 66 73 52 64 50 65 72 6d |->name, |fsRdPerm|
|00000f10| 29 3b 0d 09 65 72 72 20 | 3d 20 52 65 73 45 72 72 |);..err |= ResErr|
|00000f20| 6f 72 28 29 3b 0d 09 6e | 72 65 71 75 69 72 65 28 |or();..n|require(|
|00000f30| 65 72 72 2c 20 43 6f 75 | 6c 64 4e 6f 74 4f 70 65 |err, Cou|ldNotOpe|
|00000f40| 6e 52 65 73 6f 75 72 63 | 65 46 6f 72 6b 29 3b 0d |nResourc|eFork);.|
|00000f50| 0d 2f 2a 0d 09 49 66 20 | 77 65 27 72 65 20 73 75 |./*..If |we're su|
|00000f60| 63 63 65 73 73 66 75 6c | 20 69 6e 20 6f 70 65 6e |ccessful| in open|
|00000f70| 69 6e 67 20 74 68 65 20 | 66 69 6c 65 2c 20 73 65 |ing the |file, se|
|00000f80| 74 20 6f 75 72 20 64 6f | 63 75 6d 65 6e 74 27 73 |t our do|cument's|
|00000f90| 0d 09 46 53 53 70 65 63 | 20 69 6e 66 6f 20 61 6e |..FSSpec| info an|
|00000fa0| 64 20 69 74 73 20 77 69 | 6e 64 6f 77 27 73 20 74 |d its wi|ndow's t|
|00000fb0| 69 74 6c 65 2e 0d 2a 2f | 0d 0d 09 6f 6c 64 52 65 |itle..*/|...oldRe|
|00000fc0| 73 46 69 6c 65 20 3d 20 | 43 75 72 52 65 73 46 69 |sFile = |CurResFi|
|00000fd0| 6c 65 28 29 3b 0d 0d 09 | 42 6c 6f 63 6b 4d 6f 76 |le();...|BlockMov|
|00000fe0| 65 28 64 6f 63 46 53 53 | 70 65 63 2c 20 26 77 68 |e(docFSS|pec, &wh|
|00000ff0| 69 63 68 44 6f 63 75 6d | 65 6e 74 2d 3e 64 6f 63 |ichDocum|ent->doc|
|00001000| 75 6d 65 6e 74 46 53 53 | 70 65 63 2c 20 73 69 7a |umentFSS|pec, siz|
|00001010| 65 6f 66 28 46 53 53 70 | 65 63 29 29 3b 0d 09 42 |eof(FSSp|ec));..B|
|00001020| 6c 6f 63 6b 4d 6f 76 65 | 28 64 6f 63 46 53 53 70 |lockMove|(docFSSp|
|00001030| 65 63 2d 3e 6e 61 6d 65 | 2c 20 77 68 69 63 68 44 |ec->name|, whichD|
|00001040| 6f 63 75 6d 65 6e 74 2d | 3e 64 6f 63 75 6d 65 6e |ocument-|>documen|
|00001050| 74 54 69 74 6c 65 2c 20 | 28 6c 6f 6e 67 29 20 64 |tTitle, |(long) d|
|00001060| 6f 63 46 53 53 70 65 63 | 2d 3e 6e 61 6d 65 5b 30 |ocFSSpec|->name[0|
|00001070| 5d 20 2b 31 29 3b 0d 09 | 53 65 74 57 54 69 74 6c |] +1);..|SetWTitl|
|00001080| 65 28 77 68 69 63 68 44 | 6f 63 75 6d 65 6e 74 2d |e(whichD|ocument-|
|00001090| 3e 64 6f 63 75 6d 65 6e | 74 57 69 6e 64 6f 77 2c |>documen|tWindow,|
|000010a0| 20 77 68 69 63 68 44 6f | 63 75 6d 65 6e 74 2d 3e | whichDo|cument->|
|000010b0| 64 6f 63 75 6d 65 6e 74 | 54 69 74 6c 65 29 3b 0d |document|Title);.|
|000010c0| 0d 09 65 72 72 20 3d 20 | 4d 79 4c 6f 61 64 50 72 |..err = |MyLoadPr|
|000010d0| 69 6e 74 49 6e 66 6f 28 | 77 68 69 63 68 44 6f 63 |intInfo(|whichDoc|
|000010e0| 75 6d 65 6e 74 2c 20 72 | 65 73 52 65 66 4e 75 6d |ument, r|esRefNum|
|000010f0| 29 3b 0d 0d 2f 2f 20 4e | 6f 77 20 6c 6f 61 64 20 |);..// N|ow load |
|00001100| 74 68 65 20 64 61 74 61 | 20 66 6f 72 20 6f 75 72 |the data| for our|
|00001110| 20 64 6f 63 75 6d 65 6e | 74 27 73 20 70 61 67 65 | documen|t's page|
|00001120| 73 2e 0d 0d 09 77 68 69 | 63 68 44 6f 63 75 6d 65 |s....whi|chDocume|
|00001130| 6e 74 2d 3e 6e 75 6d 50 | 61 67 65 73 20 3d 20 4d |nt->numP|ages = M|
|00001140| 79 4c 6f 61 64 50 61 67 | 65 43 6f 75 6e 74 28 72 |yLoadPag|eCount(r|
|00001150| 65 73 52 65 66 4e 75 6d | 29 3b 0d 09 77 68 69 63 |esRefNum|);..whic|
|00001160| 68 44 6f 63 75 6d 65 6e | 74 2d 3e 63 75 72 50 61 |hDocumen|t->curPa|
|00001170| 67 65 20 3d 20 31 3b 0d | 0d 09 2f 2a 20 0d 09 09 |ge = 1;.|../* ...|
|00001180| 50 6c 61 63 65 20 79 6f | 75 72 20 61 70 70 6c 69 |Place yo|ur appli|
|00001190| 63 61 74 69 6f 6e 2d 73 | 70 65 63 69 66 69 63 20 |cation-s|pecific |
|000011a0| 63 6f 64 65 20 68 65 72 | 65 20 74 6f 20 6c 6f 61 |code her|e to loa|
|000011b0| 64 20 0d 09 09 6f 74 68 | 65 72 20 64 61 74 61 20 |d ...oth|er data |
|000011c0| 61 73 73 6f 63 69 61 74 | 65 64 20 77 69 74 68 20 |associat|ed with |
|000011d0| 74 68 65 20 64 6f 63 75 | 6d 65 6e 74 2e 0d 09 09 |the docu|ment....|
|000011e0| 2e 0d 09 09 2e 0d 09 09 | 2e 0d 09 2a 2f 0d 0d 09 |........|...*/...|
|000011f0| 4d 79 41 64 6a 75 73 74 | 4d 65 6e 75 73 28 29 3b |MyAdjust|Menus();|
|00001200| 0d 0d 2f 2f 20 43 6c 6f | 73 65 20 74 68 65 20 64 |..// Clo|se the d|
|00001210| 61 74 61 20 61 6e 64 20 | 72 65 73 6f 75 72 63 65 |ata and |resource|
|00001220| 20 66 6f 72 6b 73 20 6f | 66 20 74 68 69 73 20 64 | forks o|f this d|
|00001230| 6f 63 75 6d 65 6e 74 2e | 0d 0d 09 55 73 65 52 65 |ocument.|...UseRe|
|00001240| 73 46 69 6c 65 28 6f 6c | 64 52 65 73 46 69 6c 65 |sFile(ol|dResFile|
|00001250| 29 3b 0d 09 43 6c 6f 73 | 65 52 65 73 46 69 6c 65 |);..Clos|eResFile|
|00001260| 28 72 65 73 52 65 66 4e | 75 6d 29 3b 0d 0d 43 6f |(resRefN|um);..Co|
|00001270| 75 6c 64 4e 6f 74 4f 70 | 65 6e 52 65 73 6f 75 72 |uldNotOp|enResour|
|00001280| 63 65 46 6f 72 6b 3a 0d | 09 46 53 43 6c 6f 73 65 |ceFork:.|.FSClose|
|00001290| 28 64 61 74 61 52 65 66 | 4e 75 6d 29 3b 0d 0d 43 |(dataRef|Num);..C|
|000012a0| 6f 75 6c 64 4e 6f 74 4f | 70 65 6e 44 61 74 61 46 |ouldNotO|penDataF|
|000012b0| 6f 72 6b 3a 0d 44 6f 63 | 49 73 41 6c 72 65 61 64 |ork:.Doc|IsAlread|
|000012c0| 79 4f 70 65 6e 3a 0d 09 | 72 65 74 75 72 6e 20 65 |yOpen:..|return e|
|000012d0| 72 72 3b 0d 7d 0d 0d 0d | 2f 2a 2a 2a 2a 2a 2a 2a |rr;.}...|/*******|
|000012e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000012f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001300| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001310| 2a 2a 2a 2a 2a 0d 20 20 | 4d 79 49 73 57 69 6e 64 |*****. |MyIsWind|
|00001320| 6f 77 41 6c 72 65 61 64 | 79 4f 70 65 6e 20 2d 20 |owAlread|yOpen - |
|00001330| 54 68 69 73 20 72 6f 75 | 74 69 6e 65 20 63 6f 6d |This rou|tine com|
|00001340| 70 61 72 65 73 20 61 20 | 66 69 6c 65 20 73 70 65 |pares a |file spe|
|00001350| 63 0d 20 20 77 69 74 68 | 20 74 68 6f 73 65 20 66 |c. with| those f|
|00001360| 6f 72 20 6f 75 72 20 63 | 75 72 72 65 6e 74 6c 79 |or our c|urrently|
|00001370| 20 6f 70 65 6e 65 64 20 | 64 6f 63 75 6d 65 6e 74 | opened |document|
|00001380| 73 2e 20 20 49 66 20 77 | 65 20 66 69 6e 64 0d 20 |s. If w|e find. |
|00001390| 20 61 20 6d 61 74 63 68 | 2c 20 77 65 20 62 72 69 | a match|, we bri|
|000013a0| 6e 67 20 74 68 61 74 20 | 64 6f 63 75 6d 65 6e 74 |ng that |document|
|000013b0| 27 73 20 77 69 6e 64 6f | 77 20 66 6f 72 77 61 72 |'s windo|w forwar|
|000013c0| 64 20 61 6e 64 20 72 65 | 74 75 72 6e 0d 20 20 74 |d and re|turn. t|
|000013d0| 72 75 65 2e 20 20 4f 74 | 68 65 72 77 69 73 65 2c |rue. Ot|herwise,|
|000013e0| 20 77 65 20 72 65 74 75 | 72 6e 20 66 61 6c 73 65 | we retu|rn false|
|000013f0| 2e 0d 0d 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |...*****|********|
|00001400| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001410| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001420| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001430| 2f 0d 0d 42 6f 6f 6c 65 | 61 6e 20 4d 79 49 73 57 |/..Boole|an MyIsW|
|00001440| 69 6e 64 6f 77 41 6c 72 | 65 61 64 79 4f 70 65 6e |indowAlr|eadyOpen|
|00001450| 28 46 53 53 70 65 63 20 | 2a 77 68 69 63 68 46 53 |(FSSpec |*whichFS|
|00001460| 53 70 65 63 29 0d 7b 0d | 09 57 69 6e 64 6f 77 50 |Spec).{.|.WindowP|
|00001470| 74 72 09 09 63 75 72 57 | 69 6e 64 6f 77 3b 0d 09 |tr..curW|indow;..|
|00001480| 4d 79 44 6f 63 75 6d 65 | 6e 74 50 74 72 09 63 75 |MyDocume|ntPtr.cu|
|00001490| 72 44 6f 63 75 6d 65 6e | 74 3b 0d 09 42 6f 6f 6c |rDocumen|t;..Bool|
|000014a0| 65 61 6e 09 09 09 69 73 | 41 6c 72 65 61 64 79 4f |ean...is|AlreadyO|
|000014b0| 70 65 6e 20 3d 20 66 61 | 6c 73 65 3b 0d 0d 2f 2a |pen = fa|lse;../*|
|000014c0| 0d 09 4d 61 6b 65 20 73 | 75 72 65 20 74 68 61 74 |..Make s|ure that|
|000014d0| 20 77 65 20 68 61 76 65 | 6e 27 74 20 61 6c 72 65 | we have|n't alre|
|000014e0| 61 64 79 20 6f 70 65 6e | 65 64 20 74 68 69 73 20 |ady open|ed this |
|000014f0| 64 6f 63 75 6d 65 6e 74 | 2e 20 49 66 0d 09 77 65 |document|. If..we|
|00001500| 20 68 61 76 65 2c 20 6a | 75 73 74 20 62 72 69 6e | have, j|ust brin|
|00001510| 67 20 74 68 65 20 6f 6c | 64 20 77 69 6e 64 6f 77 |g the ol|d window|
|00001520| 20 66 6f 72 77 61 72 64 | 20 61 6e 64 20 61 64 6a | forward| and adj|
|00001530| 75 73 74 20 6f 75 72 20 | 6d 65 6e 75 73 2e 0d 2a |ust our |menus..*|
|00001540| 2f 0d 09 63 75 72 57 69 | 6e 64 6f 77 20 3d 20 46 |/..curWi|ndow = F|
|00001550| 72 6f 6e 74 57 69 6e 64 | 6f 77 28 29 3b 0d 09 0d |rontWind|ow();...|
|00001560| 09 77 68 69 6c 65 20 28 | 63 75 72 57 69 6e 64 6f |.while (|curWindo|
|00001570| 77 20 21 3d 20 6e 69 6c | 29 0d 09 7b 0d 09 09 69 |w != nil|)..{...i|
|00001580| 66 20 28 28 28 57 69 6e | 64 6f 77 50 65 65 6b 29 |f (((Win|dowPeek)|
|00001590| 20 63 75 72 57 69 6e 64 | 6f 77 29 2d 3e 77 69 6e | curWind|ow)->win|
|000015a0| 64 6f 77 4b 69 6e 64 20 | 3d 3d 20 75 73 65 72 4b |dowKind |== userK|
|000015b0| 69 6e 64 29 0d 09 09 7b | 0d 09 09 09 63 75 72 44 |ind)...{|....curD|
|000015c0| 6f 63 75 6d 65 6e 74 20 | 3d 20 4d 79 47 65 74 44 |ocument |= MyGetD|
|000015d0| 6f 63 50 74 72 28 63 75 | 72 57 69 6e 64 6f 77 29 |ocPtr(cu|rWindow)|
|000015e0| 3b 0d 09 09 09 0d 09 09 | 09 69 73 41 6c 72 65 61 |;.......|.isAlrea|
|000015f0| 64 79 4f 70 65 6e 20 3d | 0d 09 09 09 09 28 28 63 |dyOpen =|.....((c|
|00001600| 75 72 44 6f 63 75 6d 65 | 6e 74 2d 3e 64 6f 63 75 |urDocume|nt->docu|
|00001610| 6d 65 6e 74 46 53 53 70 | 65 63 2e 76 52 65 66 4e |mentFSSp|ec.vRefN|
|00001620| 75 6d 20 3d 3d 20 77 68 | 69 63 68 46 53 53 70 65 |um == wh|ichFSSpe|
|00001630| 63 2d 3e 76 52 65 66 4e | 75 6d 29 20 26 26 0d 09 |c->vRefN|um) &&..|
|00001640| 09 09 09 20 28 63 75 72 | 44 6f 63 75 6d 65 6e 74 |... (cur|Document|
|00001650| 2d 3e 64 6f 63 75 6d 65 | 6e 74 46 53 53 70 65 63 |->docume|ntFSSpec|
|00001660| 2e 70 61 72 49 44 20 3d | 3d 20 77 68 69 63 68 46 |.parID =|= whichF|
|00001670| 53 53 70 65 63 2d 3e 70 | 61 72 49 44 29 20 26 26 |SSpec->p|arID) &&|
|00001680| 0d 09 09 09 09 20 28 49 | 55 45 71 75 61 6c 53 74 |..... (I|UEqualSt|
|00001690| 72 69 6e 67 28 63 75 72 | 44 6f 63 75 6d 65 6e 74 |ring(cur|Document|
|000016a0| 2d 3e 64 6f 63 75 6d 65 | 6e 74 46 53 53 70 65 63 |->docume|ntFSSpec|
|000016b0| 2e 6e 61 6d 65 2c 20 77 | 68 69 63 68 46 53 53 70 |.name, w|hichFSSp|
|000016c0| 65 63 2d 3e 6e 61 6d 65 | 29 20 3d 3d 20 30 29 29 |ec->name|) == 0))|
|000016d0| 3b 0d 0d 09 09 09 69 66 | 20 28 69 73 41 6c 72 65 |;.....if| (isAlre|
|000016e0| 61 64 79 4f 70 65 6e 29 | 0d 09 09 09 7b 0d 09 09 |adyOpen)|....{...|
|000016f0| 09 09 53 65 6c 65 63 74 | 57 69 6e 64 6f 77 28 63 |..Select|Window(c|
|00001700| 75 72 57 69 6e 64 6f 77 | 29 3b 0d 09 09 09 09 4d |urWindow|);.....M|
|00001710| 79 41 64 6a 75 73 74 4d | 65 6e 75 73 28 29 3b 0d |yAdjustM|enus();.|
|00001720| 09 09 09 7d 0d 09 09 09 | 0d 09 09 09 6e 72 65 71 |...}....|....nreq|
|00001730| 75 69 72 65 28 69 73 41 | 6c 72 65 61 64 79 4f 70 |uire(isA|lreadyOp|
|00001740| 65 6e 2c 20 44 6f 63 49 | 73 41 6c 72 65 61 64 79 |en, DocI|sAlready|
|00001750| 4f 70 65 6e 29 3b 0d 09 | 09 7d 0d 09 0d 09 09 63 |Open);..|.}.....c|
|00001760| 75 72 57 69 6e 64 6f 77 | 20 3d 20 28 57 69 6e 64 |urWindow| = (Wind|
|00001770| 6f 77 50 74 72 29 20 28 | 28 57 69 6e 64 6f 77 50 |owPtr) (|(WindowP|
|00001780| 65 65 6b 29 20 63 75 72 | 57 69 6e 64 6f 77 29 2d |eek) cur|Window)-|
|00001790| 3e 6e 65 78 74 57 69 6e | 64 6f 77 3b 0d 09 7d 0d |>nextWin|dow;..}.|
|000017a0| 0d 44 6f 63 49 73 41 6c | 72 65 61 64 79 4f 70 65 |.DocIsAl|readyOpe|
|000017b0| 6e 3a 0d 4e 6f 4e 65 65 | 64 54 6f 43 68 65 63 6b |n:.NoNee|dToCheck|
|000017c0| 3a 0d 09 72 65 74 75 72 | 6e 20 69 73 41 6c 72 65 |:..retur|n isAlre|
|000017d0| 61 64 79 4f 70 65 6e 3b | 0d 7d 0d 0d 0d 2f 2a 2a |adyOpen;|.}.../**|
|000017e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000017f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001800| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001810| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0d 20 20 4d 79 53 |********|**. MyS|
|00001820| 61 76 65 44 6f 63 75 6d | 65 6e 74 20 2d 20 54 68 |aveDocum|ent - Th|
|00001830| 69 73 20 72 6f 75 74 69 | 6e 65 20 73 61 76 65 73 |is routi|ne saves|
|00001840| 20 61 20 64 6f 63 75 6d | 65 6e 74 20 61 6e 64 20 | a docum|ent and |
|00001850| 69 74 73 0d 20 20 63 6f | 72 72 65 73 70 6f 6e 64 |its. co|rrespond|
|00001860| 69 6e 67 20 70 72 69 6e | 74 20 72 65 63 6f 72 64 |ing prin|t record|
|00001870| 20 74 6f 20 64 69 73 6b | 2e 0d 0d 2a 2a 2a 2a 2a | to disk|...*****|
|00001880| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001890| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000018a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000018b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2f 0d 0d 4f 53 45 72 72 |********|/..OSErr|
|000018c0| 20 4d 79 53 61 76 65 44 | 6f 63 75 6d 65 6e 74 28 | MySaveD|ocument(|
|000018d0| 4d 79 44 6f 63 75 6d 65 | 6e 74 50 74 72 20 77 68 |MyDocume|ntPtr wh|
|000018e0| 69 63 68 44 6f 63 75 6d | 65 6e 74 2c 20 42 6f 6f |ichDocum|ent, Boo|
|000018f0| 6c 65 61 6e 20 64 6f 69 | 6e 67 53 61 76 65 41 73 |lean doi|ngSaveAs|
|00001900| 29 0d 7b 0d 09 4f 53 45 | 72 72 09 09 09 09 65 72 |).{..OSE|rr....er|
|00001910| 72 20 3d 20 6e 6f 45 72 | 72 3b 0d 09 73 68 6f 72 |r = noEr|r;..shor|
|00001920| 74 09 09 09 09 64 61 74 | 61 52 65 66 4e 75 6d 2c |t....dat|aRefNum,|
|00001930| 20 6f 6c 64 52 65 73 46 | 69 6c 65 2c 20 72 65 73 | oldResF|ile, res|
|00001940| 52 65 66 4e 75 6d 3b 0d | 09 46 53 53 70 65 63 09 |RefNum;.|.FSSpec.|
|00001950| 09 09 09 2a 64 6f 63 46 | 53 53 70 65 63 3b 0d 09 |...*docF|SSpec;..|
|00001960| 53 74 61 6e 64 61 72 64 | 46 69 6c 65 52 65 70 6c |Standard|FileRepl|
|00001970| 79 09 73 66 52 65 70 6c | 79 3b 0d 09 46 49 6e 66 |y.sfRepl|y;..FInf|
|00001980| 6f 09 09 09 09 64 6f 63 | 46 49 6e 66 6f 3b 0d 0d |o....doc|FInfo;..|
|00001990| 09 6f 6c 64 52 65 73 46 | 69 6c 65 20 3d 20 43 75 |.oldResF|ile = Cu|
|000019a0| 72 52 65 73 46 69 6c 65 | 28 29 3b 0d 09 64 6f 63 |rResFile|();..doc|
|000019b0| 46 53 53 70 65 63 20 3d | 20 26 77 68 69 63 68 44 |FSSpec =| &whichD|
|000019c0| 6f 63 75 6d 65 6e 74 2d | 3e 64 6f 63 75 6d 65 6e |ocument-|>documen|
|000019d0| 74 46 53 53 70 65 63 3b | 0d 0d 2f 2a 0d 09 49 66 |tFSSpec;|../*..If|
|000019e0| 20 77 65 27 72 65 20 64 | 6f 69 6e 67 20 61 20 22 | we're d|oing a "|
|000019f0| 53 61 76 65 20 61 73 c9 | 22 2c 20 64 69 73 70 6c |Save as.|", displ|
|00001a00| 61 79 20 74 68 65 20 53 | 74 61 6e 64 61 72 64 46 |ay the S|tandardF|
|00001a10| 69 6c 65 0d 09 64 69 61 | 6c 6f 67 20 61 6e 64 20 |ile..dia|log and |
|00001a20| 68 61 76 65 20 74 68 65 | 20 75 73 65 72 20 73 65 |have the| user se|
|00001a30| 6c 65 63 74 20 61 20 70 | 6c 61 63 65 20 74 6f 20 |lect a p|lace to |
|00001a40| 73 61 76 65 20 74 68 65 | 20 66 69 6c 65 2e 0d 2a |save the| file..*|
|00001a50| 2f 0d 0d 09 69 66 20 28 | 64 6f 69 6e 67 53 61 76 |/...if (|doingSav|
|00001a60| 65 41 73 29 0d 09 7b 0d | 09 09 53 74 61 6e 64 61 |eAs)..{.|..Standa|
|00001a70| 72 64 50 75 74 46 69 6c | 65 28 22 5c 70 53 61 76 |rdPutFil|e("\pSav|
|00001a80| 65 20 64 6f 63 75 6d 65 | 6e 74 3a 22 2c 20 77 68 |e docume|nt:", wh|
|00001a90| 69 63 68 44 6f 63 75 6d | 65 6e 74 2d 3e 64 6f 63 |ichDocum|ent->doc|
|00001aa0| 75 6d 65 6e 74 54 69 74 | 6c 65 2c 20 26 73 66 52 |umentTit|le, &sfR|
|00001ab0| 65 70 6c 79 29 3b 0d 09 | 09 72 65 71 75 69 72 65 |eply);..|.require|
|00001ac0| 28 73 66 52 65 70 6c 79 | 2e 73 66 47 6f 6f 64 2c |(sfReply|.sfGood,|
|00001ad0| 20 55 73 65 72 48 61 73 | 43 61 6e 63 65 6c 6c 65 | UserHas|Cancelle|
|00001ae0| 64 29 3b 0d 0d 2f 2a 0d | 09 49 66 20 77 65 27 72 |d);../*.|.If we'r|
|00001af0| 65 20 72 65 70 6c 61 63 | 69 6e 67 20 61 6e 20 65 |e replac|ing an e|
|00001b00| 78 69 73 74 69 6e 67 20 | 66 69 6c 65 2c 20 64 65 |xisting |file, de|
|00001b10| 6c 65 74 65 20 69 74 2e | 20 20 43 72 65 61 74 65 |lete it.| Create|
|00001b20| 0d 09 6f 75 72 20 6e 65 | 77 20 66 69 6c 65 20 61 |..our ne|w file a|
|00001b30| 6e 64 20 73 65 74 20 69 | 74 73 20 63 72 65 61 74 |nd set i|ts creat|
|00001b40| 6f 72 20 61 6e 64 20 74 | 79 70 65 2e 0d 2a 2f 0d |or and t|ype..*/.|
|00001b50| 09 09 69 66 20 28 73 66 | 52 65 70 6c 79 2e 73 66 |..if (sf|Reply.sf|
|00001b60| 52 65 70 6c 61 63 69 6e | 67 29 0d 09 09 09 65 72 |Replacin|g)....er|
|00001b70| 72 20 3d 20 48 44 65 6c | 65 74 65 28 73 66 52 65 |r = HDel|ete(sfRe|
|00001b80| 70 6c 79 2e 73 66 46 69 | 6c 65 2e 76 52 65 66 4e |ply.sfFi|le.vRefN|
|00001b90| 75 6d 2c 20 73 66 52 65 | 70 6c 79 2e 73 66 46 69 |um, sfRe|ply.sfFi|
|00001ba0| 6c 65 2e 70 61 72 49 44 | 2c 20 73 66 52 65 70 6c |le.parID|, sfRepl|
|00001bb0| 79 2e 73 66 46 69 6c 65 | 2e 6e 61 6d 65 29 3b 0d |y.sfFile|.name);.|
|00001bc0| 0d 09 09 6e 72 65 71 75 | 69 72 65 28 65 72 72 2c |...nrequ|ire(err,|
|00001bd0| 20 43 6f 75 6c 64 4e 6f | 74 44 65 6c 65 74 65 4f | CouldNo|tDeleteO|
|00001be0| 6c 64 46 69 6c 65 29 3b | 0d 0d 09 09 48 43 72 65 |ldFile);|....HCre|
|00001bf0| 61 74 65 52 65 73 46 69 | 6c 65 28 73 66 52 65 70 |ateResFi|le(sfRep|
|00001c00| 6c 79 2e 73 66 46 69 6c | 65 2e 76 52 65 66 4e 75 |ly.sfFil|e.vRefNu|
|00001c10| 6d 2c 20 73 66 52 65 70 | 6c 79 2e 73 66 46 69 6c |m, sfRep|ly.sfFil|
|00001c20| 65 2e 70 61 72 49 44 2c | 20 73 66 52 65 70 6c 79 |e.parID,| sfReply|
|00001c30| 2e 73 66 46 69 6c 65 2e | 6e 61 6d 65 29 3b 0d 09 |.sfFile.|name);..|
|00001c40| 09 48 47 65 74 46 49 6e | 66 6f 28 73 66 52 65 70 |.HGetFIn|fo(sfRep|
|00001c50| 6c 79 2e 73 66 46 69 6c | 65 2e 76 52 65 66 4e 75 |ly.sfFil|e.vRefNu|
|00001c60| 6d 2c 20 73 66 52 65 70 | 6c 79 2e 73 66 46 69 6c |m, sfRep|ly.sfFil|
|00001c70| 65 2e 70 61 72 49 44 2c | 0d 09 09 09 09 20 20 73 |e.parID,|..... s|
|00001c80| 66 52 65 70 6c 79 2e 73 | 66 46 69 6c 65 2e 6e 61 |fReply.s|fFile.na|
|00001c90| 6d 65 2c 20 26 64 6f 63 | 46 49 6e 66 6f 29 3b 0d |me, &doc|FInfo);.|
|00001ca0| 09 09 09 20 20 0d 09 09 | 64 6f 63 46 49 6e 66 6f |... ...|docFInfo|
|00001cb0| 2e 66 64 43 72 65 61 74 | 6f 72 20 3d 20 6b 4d 79 |.fdCreat|or = kMy|
|00001cc0| 44 6f 63 43 72 65 61 74 | 6f 72 3b 0d 09 09 64 6f |DocCreat|or;...do|
|00001cd0| 63 46 49 6e 66 6f 2e 66 | 64 54 79 70 65 20 3d 20 |cFInfo.f|dType = |
|00001ce0| 6b 4d 79 44 6f 63 54 79 | 70 65 3b 0d 0d 09 09 65 |kMyDocTy|pe;....e|
|00001cf0| 72 72 20 3d 20 48 53 65 | 74 46 49 6e 66 6f 28 73 |rr = HSe|tFInfo(s|
|00001d00| 66 52 65 70 6c 79 2e 73 | 66 46 69 6c 65 2e 76 52 |fReply.s|fFile.vR|
|00001d10| 65 66 4e 75 6d 2c 20 73 | 66 52 65 70 6c 79 2e 73 |efNum, s|fReply.s|
|00001d20| 66 46 69 6c 65 2e 70 61 | 72 49 44 2c 0d 09 09 09 |fFile.pa|rID,....|
|00001d30| 09 09 09 73 66 52 65 70 | 6c 79 2e 73 66 46 69 6c |...sfRep|ly.sfFil|
|00001d40| 65 2e 6e 61 6d 65 2c 20 | 26 64 6f 63 46 49 6e 66 |e.name, |&docFInf|
|00001d50| 6f 29 3b 0d 0d 2f 2a 0d | 09 49 66 20 77 65 27 72 |o);../*.|.If we'r|
|00001d60| 65 20 73 75 63 63 65 73 | 73 66 75 6c 20 69 6e 20 |e succes|sful in |
|00001d70| 63 72 65 61 74 69 6e 67 | 20 74 68 65 20 66 69 6c |creating| the fil|
|00001d80| 65 2c 20 73 65 74 20 6f | 75 72 20 64 6f 63 75 6d |e, set o|ur docum|
|00001d90| 65 6e 74 27 73 0d 09 46 | 53 53 70 65 63 20 69 6e |ent's..F|SSpec in|
|00001da0| 66 6f 2c 20 69 74 73 20 | 74 69 74 6c 65 20 61 6e |fo, its |title an|
|00001db0| 64 20 69 74 73 20 77 69 | 6e 64 6f 77 27 73 20 74 |d its wi|ndow's t|
|00001dc0| 69 74 6c 65 2e 0d 2a 2f | 0d 0d 09 09 69 66 20 28 |itle..*/|....if (|
|00001dd0| 65 72 72 20 3d 3d 20 6e | 6f 45 72 72 29 20 65 72 |err == n|oErr) er|
|00001de0| 72 20 3d 20 52 65 73 45 | 72 72 6f 72 28 29 3b 0d |r = ResE|rror();.|
|00001df0| 09 09 6e 72 65 71 75 69 | 72 65 28 65 72 72 2c 20 |..nrequi|re(err, |
|00001e00| 43 6f 75 6c 64 4e 6f 74 | 53 65 74 46 69 6c 65 49 |CouldNot|SetFileI|
|00001e10| 6e 66 6f 29 3b 0d 0d 09 | 09 42 6c 6f 63 6b 4d 6f |nfo);...|.BlockMo|
|00001e20| 76 65 28 26 73 66 52 65 | 70 6c 79 2e 73 66 46 69 |ve(&sfRe|ply.sfFi|
|00001e30| 6c 65 2c 20 64 6f 63 46 | 53 53 70 65 63 2c 20 73 |le, docF|SSpec, s|
|00001e40| 69 7a 65 6f 66 28 46 53 | 53 70 65 63 29 29 3b 0d |izeof(FS|Spec));.|
|00001e50| 09 09 42 6c 6f 63 6b 4d | 6f 76 65 28 26 73 66 52 |..BlockM|ove(&sfR|
|00001e60| 65 70 6c 79 2e 73 66 46 | 69 6c 65 2e 6e 61 6d 65 |eply.sfF|ile.name|
|00001e70| 2c 20 77 68 69 63 68 44 | 6f 63 75 6d 65 6e 74 2d |, whichD|ocument-|
|00001e80| 3e 64 6f 63 75 6d 65 6e | 74 54 69 74 6c 65 2c 0d |>documen|tTitle,.|
|00001e90| 09 09 09 09 20 20 28 6c | 6f 6e 67 29 20 73 66 52 |.... (l|ong) sfR|
|00001ea0| 65 70 6c 79 2e 73 66 46 | 69 6c 65 2e 6e 61 6d 65 |eply.sfF|ile.name|
|00001eb0| 5b 30 5d 20 2b 31 29 3b | 0d 09 09 0d 09 09 53 65 |[0] +1);|......Se|
|00001ec0| 74 57 54 69 74 6c 65 28 | 77 68 69 63 68 44 6f 63 |tWTitle(|whichDoc|
|00001ed0| 75 6d 65 6e 74 2d 3e 64 | 6f 63 75 6d 65 6e 74 57 |ument->d|ocumentW|
|00001ee0| 69 6e 64 6f 77 2c 20 77 | 68 69 63 68 44 6f 63 75 |indow, w|hichDocu|
|00001ef0| 6d 65 6e 74 2d 3e 64 6f | 63 75 6d 65 6e 74 54 69 |ment->do|cumentTi|
|00001f00| 74 6c 65 29 3b 0d 09 7d | 0d 0d 2f 2f 20 4f 70 65 |tle);..}|..// Ope|
|00001f10| 6e 20 74 68 65 20 66 69 | 6c 65 27 73 20 64 61 74 |n the fi|le's dat|
|00001f20| 61 20 66 6f 72 6b 20 61 | 6e 64 20 72 65 73 6f 75 |a fork a|nd resou|
|00001f30| 72 63 65 20 66 6f 72 6b | 2e 0d 0d 09 65 72 72 20 |rce fork|....err |
|00001f40| 3d 20 46 53 70 4f 70 65 | 6e 44 46 28 64 6f 63 46 |= FSpOpe|nDF(docF|
|00001f50| 53 53 70 65 63 2c 20 66 | 73 52 64 57 72 50 65 72 |SSpec, f|sRdWrPer|
|00001f60| 6d 2c 20 26 64 61 74 61 | 52 65 66 4e 75 6d 29 3b |m, &data|RefNum);|
|00001f70| 0d 09 6e 72 65 71 75 69 | 72 65 28 65 72 72 2c 20 |..nrequi|re(err, |
|00001f80| 43 6f 75 6c 64 4e 6f 74 | 4f 70 65 6e 44 61 74 61 |CouldNot|OpenData|
|00001f90| 46 6f 72 6b 29 3b 0d 0d | 09 72 65 73 52 65 66 4e |Fork);..|.resRefN|
|00001fa0| 75 6d 20 3d 20 48 4f 70 | 65 6e 52 65 73 46 69 6c |um = HOp|enResFil|
|00001fb0| 65 28 64 6f 63 46 53 53 | 70 65 63 2d 3e 76 52 65 |e(docFSS|pec->vRe|
|00001fc0| 66 4e 75 6d 2c 20 64 6f | 63 46 53 53 70 65 63 2d |fNum, do|cFSSpec-|
|00001fd0| 3e 70 61 72 49 44 2c 0d | 09 09 09 09 09 09 09 20 |>parID,.|....... |
|00001fe0| 64 6f 63 46 53 53 70 65 | 63 2d 3e 6e 61 6d 65 2c |docFSSpe|c->name,|
|00001ff0| 20 66 73 52 64 57 72 50 | 65 72 6d 29 3b 0d 09 65 | fsRdWrP|erm);..e|
|00002000| 72 72 20 3d 20 52 65 73 | 45 72 72 6f 72 28 29 3b |rr = Res|Error();|
|00002010| 0d 09 6e 72 65 71 75 69 | 72 65 28 65 72 72 2c 20 |..nrequi|re(err, |
|00002020| 43 6f 75 6c 64 4e 6f 74 | 4f 70 65 6e 52 65 73 6f |CouldNot|OpenReso|
|00002030| 75 72 63 65 46 6f 72 6b | 29 3b 0d 0d 09 65 72 72 |urceFork|);...err|
|00002040| 20 3d 20 4d 79 53 61 76 | 65 50 72 69 6e 74 49 6e | = MySav|ePrintIn|
|00002050| 66 6f 28 77 68 69 63 68 | 44 6f 63 75 6d 65 6e 74 |fo(which|Document|
|00002060| 2c 20 72 65 73 52 65 66 | 4e 75 6d 29 3b 0d 0d 2f |, resRef|Num);../|
|00002070| 2f 20 4e 6f 77 20 73 61 | 76 65 20 74 68 65 20 64 |/ Now sa|ve the d|
|00002080| 61 74 61 20 66 6f 72 20 | 6f 75 72 20 64 6f 63 75 |ata for |our docu|
|00002090| 6d 65 6e 74 27 73 20 70 | 61 67 65 73 2e 0d 0d 09 |ment's p|ages....|
|000020a0| 69 66 20 28 21 65 72 72 | 29 0d 09 09 65 72 72 20 |if (!err|)...err |
|000020b0| 3d 20 4d 79 53 61 76 65 | 50 61 67 65 43 6f 75 6e |= MySave|PageCoun|
|000020c0| 74 28 77 68 69 63 68 44 | 6f 63 75 6d 65 6e 74 2c |t(whichD|ocument,|
|000020d0| 20 72 65 73 52 65 66 4e | 75 6d 29 3b 0d 0d 09 2f | resRefN|um);.../|
|000020e0| 2a 20 0d 09 09 50 6c 61 | 63 65 20 79 6f 75 72 20 |* ...Pla|ce your |
|000020f0| 61 70 70 6c 69 63 61 74 | 69 6f 6e 2d 73 70 65 63 |applicat|ion-spec|
|00002100| 69 66 69 63 20 63 6f 64 | 65 20 68 65 72 65 20 74 |ific cod|e here t|
|00002110| 6f 20 73 61 76 65 20 0d | 09 09 6f 74 68 65 72 20 |o save .|..other |
|00002120| 64 61 74 61 20 61 73 73 | 6f 63 69 61 74 65 64 20 |data ass|ociated |
|00002130| 77 69 74 68 20 74 68 65 | 20 64 6f 63 75 6d 65 6e |with the| documen|
|00002140| 74 2e 0d 09 09 2e 0d 09 | 09 2e 0d 09 09 2e 0d 09 |t.......|........|
|00002150| 2a 2f 0d 0d 0d 2f 2f 20 | 43 6c 6f 73 65 20 74 68 |*/...// |Close th|
|00002160| 65 20 64 61 74 61 20 61 | 6e 64 20 72 65 73 6f 75 |e data a|nd resou|
|00002170| 72 63 65 20 66 6f 72 6b | 73 20 6f 66 20 74 68 69 |rce fork|s of thi|
|00002180| 73 20 64 6f 63 75 6d 65 | 6e 74 2e 0d 0d 09 43 6c |s docume|nt....Cl|
|00002190| 6f 73 65 52 65 73 46 69 | 6c 65 28 72 65 73 52 65 |oseResFi|le(resRe|
|000021a0| 66 4e 75 6d 29 3b 0d 0d | 43 6f 75 6c 64 4e 6f 74 |fNum);..|CouldNot|
|000021b0| 4f 70 65 6e 52 65 73 6f | 75 72 63 65 46 6f 72 6b |OpenReso|urceFork|
|000021c0| 3a 0d 09 46 53 43 6c 6f | 73 65 28 64 61 74 61 52 |:..FSClo|se(dataR|
|000021d0| 65 66 4e 75 6d 29 3b 0d | 0d 43 6f 75 6c 64 4e 6f |efNum);.|.CouldNo|
|000021e0| 74 4f 70 65 6e 44 61 74 | 61 46 6f 72 6b 3a 0d 43 |tOpenDat|aFork:.C|
|000021f0| 6f 75 6c 64 4e 6f 74 53 | 65 74 46 69 6c 65 49 6e |ouldNotS|etFileIn|
|00002200| 66 6f 3a 0d 43 6f 75 6c | 64 4e 6f 74 44 65 6c 65 |fo:.Coul|dNotDele|
|00002210| 74 65 4f 6c 64 46 69 6c | 65 3a 0d 55 73 65 72 48 |teOldFil|e:.UserH|
|00002220| 61 73 43 61 6e 63 65 6c | 6c 65 64 3a 0d 09 55 73 |asCancel|led:..Us|
|00002230| 65 52 65 73 46 69 6c 65 | 28 6f 6c 64 52 65 73 46 |eResFile|(oldResF|
|00002240| 69 6c 65 29 3b 0d 09 72 | 65 74 75 72 6e 20 65 72 |ile);..r|eturn er|
|00002250| 72 3b 0d 7d 0d 0d 0d 2f | 2a 2a 2a 2a 2a 2a 2a 2a |r;.}.../|********|
|00002260| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002270| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002280| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002290| 2a 2a 2a 2a 0d 20 20 4d | 79 53 61 76 65 50 61 67 |****. M|ySavePag|
|000022a0| 65 43 6f 75 6e 74 20 2d | 20 54 68 69 73 20 72 6f |eCount -| This ro|
|000022b0| 75 74 69 6e 65 20 73 61 | 76 65 73 20 61 20 72 65 |utine sa|ves a re|
|000022c0| 73 6f 75 72 63 65 20 63 | 6f 6e 74 61 69 6e 69 6e |source c|ontainin|
|000022d0| 67 0d 20 20 74 68 65 20 | 6e 75 6d 62 65 72 20 6f |g. the |number o|
|000022e0| 66 20 70 61 67 65 73 20 | 69 6e 20 6f 75 72 20 64 |f pages |in our d|
|000022f0| 6f 63 75 6d 65 6e 74 2e | 0d 0d 2a 2a 2a 2a 2a 2a |ocument.|..******|
|00002300| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002310| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002320| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002330| 2a 2a 2a 2a 2a 2a 2a 2f | 0d 0d 4f 53 45 72 72 20 |*******/|..OSErr |
|00002340| 4d 79 53 61 76 65 50 61 | 67 65 43 6f 75 6e 74 28 |MySavePa|geCount(|
|00002350| 4d 79 44 6f 63 75 6d 65 | 6e 74 50 74 72 20 77 68 |MyDocume|ntPtr wh|
|00002360| 69 63 68 44 6f 63 75 6d | 65 6e 74 2c 20 73 68 6f |ichDocum|ent, sho|
|00002370| 72 74 20 72 65 73 52 65 | 66 4e 75 6d 29 0d 7b 0d |rt resRe|fNum).{.|
|00002380| 09 4f 53 45 72 72 09 09 | 65 72 72 3b 0d 09 48 61 |.OSErr..|err;..Ha|
|00002390| 6e 64 6c 65 09 09 74 68 | 65 50 61 67 65 43 6f 75 |ndle..th|ePageCou|
|000023a0| 6e 74 2c 20 6f 6c 64 50 | 61 67 65 43 6f 75 6e 74 |nt, oldP|ageCount|
|000023b0| 3b 0d 0d 09 55 73 65 52 | 65 73 46 69 6c 65 28 72 |;...UseR|esFile(r|
|000023c0| 65 73 52 65 66 4e 75 6d | 29 3b 0d 0d 2f 2f 20 49 |esRefNum|);..// I|
|000023d0| 66 20 74 68 65 72 65 27 | 73 20 61 6e 20 65 78 69 |f there'|s an exi|
|000023e0| 73 74 69 6e 67 20 72 65 | 73 6f 75 72 63 65 2c 20 |sting re|source, |
|000023f0| 64 65 6c 65 74 65 20 69 | 74 2e 0d 0d 09 74 68 65 |delete i|t....the|
|00002400| 50 61 67 65 43 6f 75 6e | 74 20 3d 20 4e 65 77 48 |PageCoun|t = NewH|
|00002410| 61 6e 64 6c 65 28 73 69 | 7a 65 6f 66 28 6c 6f 6e |andle(si|zeof(lon|
|00002420| 67 29 29 3b 0d 09 6e 72 | 65 71 75 69 72 65 28 28 |g));..nr|equire((|
|00002430| 65 72 72 20 3d 20 4d 65 | 6d 45 72 72 6f 72 28 29 |err = Me|mError()|
|00002440| 29 2c 20 43 6f 75 6c 64 | 4e 6f 74 43 72 65 61 74 |), Could|NotCreat|
|00002450| 65 48 61 6e 64 6c 65 29 | 3b 0d 0d 09 2a 28 6c 6f |eHandle)|;...*(lo|
|00002460| 6e 67 20 2a 29 2a 74 68 | 65 50 61 67 65 43 6f 75 |ng *)*th|ePageCou|
|00002470| 6e 74 20 3d 20 77 68 69 | 63 68 44 6f 63 75 6d 65 |nt = whi|chDocume|
|00002480| 6e 74 2d 3e 6e 75 6d 50 | 61 67 65 73 3b 0d 09 6f |nt->numP|ages;..o|
|00002490| 6c 64 50 61 67 65 43 6f | 75 6e 74 20 3d 20 47 65 |ldPageCo|unt = Ge|
|000024a0| 74 31 52 65 73 6f 75 72 | 63 65 28 6b 4d 79 50 61 |t1Resour|ce(kMyPa|
|000024b0| 67 65 43 6f 75 6e 74 54 | 79 70 65 2c 20 6b 4d 79 |geCountT|ype, kMy|
|000024c0| 50 61 67 65 43 6f 75 6e | 74 49 44 29 3b 0d 0d 09 |PageCoun|tID);...|
|000024d0| 69 66 20 28 6f 6c 64 50 | 61 67 65 43 6f 75 6e 74 |if (oldP|ageCount|
|000024e0| 20 21 3d 20 6e 69 6c 29 | 0d 09 7b 0d 09 09 52 6d | != nil)|..{...Rm|
|000024f0| 76 65 52 65 73 6f 75 72 | 63 65 28 6f 6c 64 50 61 |veResour|ce(oldPa|
|00002500| 67 65 43 6f 75 6e 74 29 | 3b 0d 09 09 55 70 64 61 |geCount)|;...Upda|
|00002510| 74 65 52 65 73 46 69 6c | 65 28 72 65 73 52 65 66 |teResFil|e(resRef|
|00002520| 4e 75 6d 29 3b 0d 09 09 | 44 69 73 70 6f 73 48 61 |Num);...|DisposHa|
|00002530| 6e 64 6c 65 28 6f 6c 64 | 50 61 67 65 43 6f 75 6e |ndle(old|PageCoun|
|00002540| 74 29 3b 0d 09 7d 0d 0d | 2f 2f 20 41 64 64 20 6f |t);..}..|// Add o|
|00002550| 75 72 20 6e 65 77 20 72 | 65 73 6f 75 72 63 65 2e |ur new r|esource.|
|00002560| 0d 0d 09 41 64 64 52 65 | 73 6f 75 72 63 65 28 74 |...AddRe|source(t|
|00002570| 68 65 50 61 67 65 43 6f | 75 6e 74 2c 20 6b 4d 79 |hePageCo|unt, kMy|
|00002580| 50 61 67 65 43 6f 75 6e | 74 54 79 70 65 2c 20 6b |PageCoun|tType, k|
|00002590| 4d 79 50 61 67 65 43 6f | 75 6e 74 49 44 2c 20 22 |MyPageCo|untID, "|
|000025a0| 5c 70 22 29 3b 0d 09 65 | 72 72 20 3d 20 52 65 73 |\p");..e|rr = Res|
|000025b0| 45 72 72 6f 72 28 29 3b | 0d 09 6e 72 65 71 75 69 |Error();|..nrequi|
|000025c0| 72 65 28 65 72 72 2c 20 | 43 6f 75 6c 64 4e 6f 74 |re(err, |CouldNot|
|000025d0| 41 64 64 52 65 73 6f 75 | 72 63 65 29 3b 0d 0d 09 |AddResou|rce);...|
|000025e0| 57 72 69 74 65 52 65 73 | 6f 75 72 63 65 28 74 68 |WriteRes|ource(th|
|000025f0| 65 50 61 67 65 43 6f 75 | 6e 74 29 3b 0d 09 55 70 |ePageCou|nt);..Up|
|00002600| 64 61 74 65 52 65 73 46 | 69 6c 65 28 72 65 73 52 |dateResF|ile(resR|
|00002610| 65 66 4e 75 6d 29 3b 0d | 09 52 65 6c 65 61 73 65 |efNum);.|.Release|
|00002620| 52 65 73 6f 75 72 63 65 | 28 74 68 65 50 61 67 65 |Resource|(thePage|
|00002630| 43 6f 75 6e 74 29 3b 0d | 0d 43 6f 75 6c 64 4e 6f |Count);.|.CouldNo|
|00002640| 74 41 64 64 52 65 73 6f | 75 72 63 65 3a 0d 43 6f |tAddReso|urce:.Co|
|00002650| 75 6c 64 4e 6f 74 43 72 | 65 61 74 65 48 61 6e 64 |uldNotCr|eateHand|
|00002660| 6c 65 3a 0d 09 72 65 74 | 75 72 6e 20 65 72 72 3b |le:..ret|urn err;|
|00002670| 0d 7d 0d 0d 0d 2f 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.}.../**|********|
|00002680| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002690| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000026a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000026b0| 2a 2a 0d 20 20 4d 79 4c | 6f 61 64 50 61 67 65 43 |**. MyL|oadPageC|
|000026c0| 6f 75 6e 74 20 2d 20 54 | 68 69 73 20 72 6f 75 74 |ount - T|his rout|
|000026d0| 69 6e 65 20 6c 6f 61 64 | 73 20 61 20 72 65 73 6f |ine load|s a reso|
|000026e0| 75 72 63 65 20 63 6f 6e | 74 61 69 6e 69 6e 67 0d |urce con|taining.|
|000026f0| 20 20 74 68 65 20 6e 75 | 6d 62 65 72 20 6f 66 20 | the nu|mber of |
|00002700| 70 61 67 65 73 20 69 6e | 20 6f 75 72 20 64 6f 63 |pages in| our doc|
|00002710| 75 6d 65 6e 74 2c 20 61 | 6e 64 20 72 65 74 75 72 |ument, a|nd retur|
|00002720| 6e 73 20 74 68 65 20 6e | 75 6d 62 65 72 0d 20 20 |ns the n|umber. |
|00002730| 6f 66 20 70 61 67 65 73 | 2e 0d 0d 2a 2a 2a 2a 2a |of pages|...*****|
|00002740| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002750| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002760| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002770| 2a 2a 2a 2a 2a 2a 2a 2a | 2f 0d 0d 6c 6f 6e 67 20 |********|/..long |
|00002780| 4d 79 4c 6f 61 64 50 61 | 67 65 43 6f 75 6e 74 28 |MyLoadPa|geCount(|
|00002790| 73 68 6f 72 74 20 72 65 | 73 52 65 66 4e 75 6d 29 |short re|sRefNum)|
|000027a0| 0d 7b 0d 09 48 61 6e 64 | 6c 65 09 09 74 68 65 50 |.{..Hand|le..theP|
|000027b0| 61 67 65 43 6f 75 6e 74 | 3b 0d 09 6c 6f 6e 67 09 |ageCount|;..long.|
|000027c0| 09 6e 75 6d 50 61 67 65 | 73 3b 0d 0d 09 55 73 65 |.numPage|s;...Use|
|000027d0| 52 65 73 46 69 6c 65 28 | 72 65 73 52 65 66 4e 75 |ResFile(|resRefNu|
|000027e0| 6d 29 3b 0d 0d 2f 2f 20 | 47 65 74 20 74 68 65 20 |m);..// |Get the |
|000027f0| 70 61 67 65 20 63 6f 75 | 6e 74 2e 20 20 49 66 20 |page cou|nt. If |
|00002800| 77 65 20 64 6f 6e 27 74 | 20 66 69 6e 64 20 61 20 |we don't| find a |
|00002810| 63 6f 75 6e 74 2c 20 72 | 65 74 75 72 6e 20 31 2e |count, r|eturn 1.|
|00002820| 0d 0d 09 74 68 65 50 61 | 67 65 43 6f 75 6e 74 20 |...thePa|geCount |
|00002830| 3d 20 47 65 74 31 52 65 | 73 6f 75 72 63 65 28 6b |= Get1Re|source(k|
|00002840| 4d 79 50 61 67 65 43 6f | 75 6e 74 54 79 70 65 2c |MyPageCo|untType,|
|00002850| 20 6b 4d 79 50 61 67 65 | 43 6f 75 6e 74 49 44 29 | kMyPage|CountID)|
|00002860| 3b 0d 0d 09 69 66 20 28 | 74 68 65 50 61 67 65 43 |;...if (|thePageC|
|00002870| 6f 75 6e 74 20 21 3d 20 | 6e 69 6c 29 0d 09 7b 0d |ount != |nil)..{.|
|00002880| 09 09 6e 75 6d 50 61 67 | 65 73 20 3d 20 2a 28 6c |..numPag|es = *(l|
|00002890| 6f 6e 67 20 2a 29 2a 74 | 68 65 50 61 67 65 43 6f |ong *)*t|hePageCo|
|000028a0| 75 6e 74 3b 0d 09 09 52 | 65 6c 65 61 73 65 52 65 |unt;...R|eleaseRe|
|000028b0| 73 6f 75 72 63 65 28 74 | 68 65 50 61 67 65 43 6f |source(t|hePageCo|
|000028c0| 75 6e 74 29 3b 0d 09 7d | 0d 09 65 6c 73 65 0d 09 |unt);..}|..else..|
|000028d0| 09 6e 75 6d 50 61 67 65 | 73 20 3d 20 31 3b 0d 0d |.numPage|s = 1;..|
|000028e0| 09 72 65 74 75 72 6e 20 | 6e 75 6d 50 61 67 65 73 |.return |numPages|
|000028f0| 3b 0d 7d 0d 0d 0d 2f 2a | 2a 2a 2a 2a 2a 2a 2a 2a |;.}.../*|********|
|00002900| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002910| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002920| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002930| 2a 2a 2a 0d 20 20 4d 79 | 53 61 76 65 50 72 69 6e |***. My|SavePrin|
|00002940| 74 49 6e 66 6f 20 2d 20 | 54 68 69 73 20 72 6f 75 |tInfo - |This rou|
|00002950| 74 69 6e 65 20 73 61 76 | 65 73 20 6f 75 72 20 70 |tine sav|es our p|
|00002960| 72 69 6e 74 20 72 65 63 | 6f 72 64 20 77 69 74 68 |rint rec|ord with|
|00002970| 0d 20 20 74 68 65 20 64 | 6f 63 75 6d 65 6e 74 2c |. the d|ocument,|
|00002980| 20 73 6f 20 74 68 61 74 | 20 69 74 20 63 61 6e 20 | so that| it can |
|00002990| 62 65 20 75 73 65 64 20 | 74 68 65 20 6e 65 78 74 |be used |the next|
|000029a0| 20 74 69 6d 65 20 74 68 | 65 0d 20 20 64 6f 63 75 | time th|e. docu|
|000029b0| 6d 65 6e 74 20 69 73 20 | 6f 70 65 6e 65 64 2e 0d |ment is |opened..|
|000029c0| 0d 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.*******|********|
|000029d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000029e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000029f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2f 0d |********|******/.|
|00002a00| 0d 4f 53 45 72 72 20 4d | 79 53 61 76 65 50 72 69 |.OSErr M|ySavePri|
|00002a10| 6e 74 49 6e 66 6f 28 4d | 79 44 6f 63 75 6d 65 6e |ntInfo(M|yDocumen|
|00002a20| 74 50 74 72 20 77 68 69 | 63 68 44 6f 63 75 6d 65 |tPtr whi|chDocume|
|00002a30| 6e 74 2c 20 73 68 6f 72 | 74 20 72 65 73 52 65 66 |nt, shor|t resRef|
|00002a40| 4e 75 6d 29 0d 7b 0d 09 | 4f 53 45 72 72 09 09 65 |Num).{..|OSErr..e|
|00002a50| 72 72 3b 0d 09 48 61 6e | 64 6c 65 09 09 74 68 65 |rr;..Han|dle..the|
|00002a60| 50 72 69 6e 74 44 61 74 | 61 2c 20 6f 6c 64 50 72 |PrintDat|a, oldPr|
|00002a70| 69 6e 74 44 61 74 61 3b | 0d 0d 09 55 73 65 52 65 |intData;|...UseRe|
|00002a80| 73 46 69 6c 65 28 72 65 | 73 52 65 66 4e 75 6d 29 |sFile(re|sRefNum)|
|00002a90| 3b 0d 0d 2f 2f 20 49 66 | 20 74 68 65 72 65 27 73 |;..// If| there's|
|00002aa0| 20 61 6e 20 65 78 69 73 | 74 69 6e 67 20 72 65 73 | an exis|ting res|
|00002ab0| 6f 75 72 63 65 2c 20 64 | 65 6c 65 74 65 20 69 74 |ource, d|elete it|
|00002ac0| 2e 0d 0d 09 74 68 65 50 | 72 69 6e 74 44 61 74 61 |....theP|rintData|
|00002ad0| 20 3d 20 28 48 61 6e 64 | 6c 65 29 20 77 68 69 63 | = (Hand|le) whic|
|00002ae0| 68 44 6f 63 75 6d 65 6e | 74 2d 3e 64 6f 63 75 6d |hDocumen|t->docum|
|00002af0| 65 6e 74 50 72 69 6e 74 | 48 64 6c 3b 0d 09 6f 6c |entPrint|Hdl;..ol|
|00002b00| 64 50 72 69 6e 74 44 61 | 74 61 20 3d 20 47 65 74 |dPrintDa|ta = Get|
|00002b10| 31 52 65 73 6f 75 72 63 | 65 28 6b 4d 79 50 72 69 |1Resourc|e(kMyPri|
|00002b20| 6e 74 52 65 63 54 79 70 | 65 2c 20 6b 4d 79 50 72 |ntRecTyp|e, kMyPr|
|00002b30| 69 6e 74 52 65 63 49 44 | 29 3b 0d 0d 09 69 66 20 |intRecID|);...if |
|00002b40| 28 6f 6c 64 50 72 69 6e | 74 44 61 74 61 20 21 3d |(oldPrin|tData !=|
|00002b50| 20 6e 69 6c 29 0d 09 7b | 0d 09 09 52 6d 76 65 52 | nil)..{|...RmveR|
|00002b60| 65 73 6f 75 72 63 65 28 | 6f 6c 64 50 72 69 6e 74 |esource(|oldPrint|
|00002b70| 44 61 74 61 29 3b 0d 09 | 09 55 70 64 61 74 65 52 |Data);..|.UpdateR|
|00002b80| 65 73 46 69 6c 65 28 72 | 65 73 52 65 66 4e 75 6d |esFile(r|esRefNum|
|00002b90| 29 3b 0d 09 09 44 69 73 | 70 6f 73 48 61 6e 64 6c |);...Dis|posHandl|
|00002ba0| 65 28 6f 6c 64 50 72 69 | 6e 74 44 61 74 61 29 3b |e(oldPri|ntData);|
|00002bb0| 0d 09 7d 0d 0d 2f 2f 20 | 41 64 64 20 6f 75 72 20 |..}..// |Add our |
|00002bc0| 6e 65 77 20 72 65 73 6f | 75 72 63 65 2e 0d 0d 09 |new reso|urce....|
|00002bd0| 41 64 64 52 65 73 6f 75 | 72 63 65 28 74 68 65 50 |AddResou|rce(theP|
|00002be0| 72 69 6e 74 44 61 74 61 | 2c 20 6b 4d 79 50 72 69 |rintData|, kMyPri|
|00002bf0| 6e 74 52 65 63 54 79 70 | 65 2c 20 6b 4d 79 50 72 |ntRecTyp|e, kMyPr|
|00002c00| 69 6e 74 52 65 63 49 44 | 2c 20 22 5c 70 22 29 3b |intRecID|, "\p");|
|00002c10| 0d 09 65 72 72 20 3d 20 | 52 65 73 45 72 72 6f 72 |..err = |ResError|
|00002c20| 28 29 3b 0d 09 6e 72 65 | 71 75 69 72 65 28 65 72 |();..nre|quire(er|
|00002c30| 72 2c 20 43 6f 75 6c 64 | 4e 6f 74 41 64 64 52 65 |r, Could|NotAddRe|
|00002c40| 73 6f 75 72 63 65 29 3b | 0d 0d 09 57 72 69 74 65 |source);|...Write|
|00002c50| 52 65 73 6f 75 72 63 65 | 28 74 68 65 50 72 69 6e |Resource|(thePrin|
|00002c60| 74 44 61 74 61 29 3b 0d | 09 55 70 64 61 74 65 52 |tData);.|.UpdateR|
|00002c70| 65 73 46 69 6c 65 28 72 | 65 73 52 65 66 4e 75 6d |esFile(r|esRefNum|
|00002c80| 29 3b 0d 09 44 65 74 61 | 63 68 52 65 73 6f 75 72 |);..Deta|chResour|
|00002c90| 63 65 28 74 68 65 50 72 | 69 6e 74 44 61 74 61 29 |ce(thePr|intData)|
|00002ca0| 3b 0d 0d 43 6f 75 6c 64 | 4e 6f 74 41 64 64 52 65 |;..Could|NotAddRe|
|00002cb0| 73 6f 75 72 63 65 3a 0d | 09 72 65 74 75 72 6e 20 |source:.|.return |
|00002cc0| 65 72 72 3b 0d 7d 0d 0d | 0d 2f 2a 2a 2a 2a 2a 2a |err;.}..|./******|
|00002cd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002ce0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002cf0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002d00| 2a 2a 2a 2a 2a 2a 0d 20 | 20 4d 79 4c 6f 61 64 50 |******. | MyLoadP|
|00002d10| 72 69 6e 74 49 6e 66 6f | 20 2d 20 54 68 69 73 20 |rintInfo| - This |
|00002d20| 72 6f 75 74 69 6e 65 20 | 6c 6f 61 64 73 20 6f 75 |routine |loads ou|
|00002d30| 72 20 64 6f 63 75 6d 65 | 6e 74 27 73 0d 20 20 70 |r docume|nt's. p|
|00002d40| 72 65 76 69 6f 75 73 6c | 79 20 73 61 76 65 64 20 |reviousl|y saved |
|00002d50| 70 72 69 6e 74 20 72 65 | 63 6f 72 64 2e 0d 0d 2a |print re|cord...*|
|00002d60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002d70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002d80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002d90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2f 0d 0d 4f |********|****/..O|
|00002da0| 53 45 72 72 20 4d 79 4c | 6f 61 64 50 72 69 6e 74 |SErr MyL|oadPrint|
|00002db0| 49 6e 66 6f 28 4d 79 44 | 6f 63 75 6d 65 6e 74 50 |Info(MyD|ocumentP|
|00002dc0| 74 72 20 77 68 69 63 68 | 44 6f 63 75 6d 65 6e 74 |tr which|Document|
|00002dd0| 2c 20 73 68 6f 72 74 20 | 72 65 73 52 65 66 4e 75 |, short |resRefNu|
|00002de0| 6d 29 0d 7b 0d 09 54 48 | 50 72 69 6e 74 09 09 73 |m).{..TH|Print..s|
|00002df0| 61 76 65 64 50 72 69 6e | 74 48 64 6c 3b 0d 0d 09 |avedPrin|tHdl;...|
|00002e00| 55 73 65 52 65 73 46 69 | 6c 65 28 72 65 73 52 65 |UseResFi|le(resRe|
|00002e10| 66 4e 75 6d 29 3b 09 0d | 0d 2f 2a 0d 09 54 72 79 |fNum);..|./*..Try|
|00002e20| 20 74 6f 20 6c 6f 61 64 | 20 61 20 70 72 65 76 69 | to load| a previ|
|00002e30| 6f 75 73 6c 79 20 73 61 | 76 65 64 20 70 72 69 6e |ously sa|ved prin|
|00002e40| 74 20 72 65 63 6f 72 64 | 2e 20 20 49 66 20 77 65 |t record|. If we|
|00002e50| 20 66 69 6e 64 20 6f 6e | 65 2c 0d 09 64 69 73 70 | find on|e,..disp|
|00002e60| 6f 73 65 20 6f 66 20 74 | 68 65 20 70 72 69 6e 74 |ose of t|he print|
|00002e70| 20 68 61 6e 64 6c 65 20 | 74 68 61 74 20 77 65 20 | handle |that we |
|00002e80| 61 6c 6c 6f 63 61 74 65 | 64 20 69 6e 20 6f 75 72 |allocate|d in our|
|00002e90| 0d 09 4d 79 43 72 65 61 | 74 65 44 6f 63 75 6d 65 |..MyCrea|teDocume|
|00002ea0| 6e 74 20 72 6f 75 74 69 | 6e 65 2e 0d 2a 2f 0d 09 |nt routi|ne..*/..|
|00002eb0| 73 61 76 65 64 50 72 69 | 6e 74 48 64 6c 20 3d 20 |savedPri|ntHdl = |
|00002ec0| 28 54 48 50 72 69 6e 74 | 29 20 47 65 74 31 52 65 |(THPrint|) Get1Re|
|00002ed0| 73 6f 75 72 63 65 28 6b | 4d 79 50 72 69 6e 74 52 |source(k|MyPrintR|
|00002ee0| 65 63 54 79 70 65 2c 20 | 6b 4d 79 50 72 69 6e 74 |ecType, |kMyPrint|
|00002ef0| 52 65 63 49 44 29 3b 0d | 0d 09 69 66 20 28 73 61 |RecID);.|..if (sa|
|00002f00| 76 65 64 50 72 69 6e 74 | 48 64 6c 20 21 3d 20 6e |vedPrint|Hdl != n|
|00002f10| 69 6c 29 0d 09 7b 0d 09 | 09 44 65 74 61 63 68 52 |il)..{..|.DetachR|
|00002f20| 65 73 6f 75 72 63 65 28 | 28 48 61 6e 64 6c 65 29 |esource(|(Handle)|
|00002f30| 20 73 61 76 65 64 50 72 | 69 6e 74 48 64 6c 29 3b | savedPr|intHdl);|
|00002f40| 0d 09 09 44 69 73 70 6f | 73 48 61 6e 64 6c 65 28 |...Dispo|sHandle(|
|00002f50| 28 48 61 6e 64 6c 65 29 | 20 77 68 69 63 68 44 6f |(Handle)| whichDo|
|00002f60| 63 75 6d 65 6e 74 2d 3e | 64 6f 63 75 6d 65 6e 74 |cument->|document|
|00002f70| 50 72 69 6e 74 48 64 6c | 29 3b 0d 09 09 77 68 69 |PrintHdl|);...whi|
|00002f80| 63 68 44 6f 63 75 6d 65 | 6e 74 2d 3e 64 6f 63 75 |chDocume|nt->docu|
|00002f90| 6d 65 6e 74 50 72 69 6e | 74 48 64 6c 20 3d 20 73 |mentPrin|tHdl = s|
|00002fa0| 61 76 65 64 50 72 69 6e | 74 48 64 6c 3b 0d 09 7d |avedPrin|tHdl;..}|
|00002fb0| 0d 09 0d 09 72 65 74 75 | 72 6e 20 6e 6f 45 72 72 |....retu|rn noErr|
|00002fc0| 3b 0d 7d 0d 00 00 00 00 | 00 00 00 00 00 00 00 00 |;.}.....|........|
|00002fd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002fe0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ff0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003000| 00 00 01 00 00 00 01 ce | 00 00 00 ce 00 00 00 32 |........|.......2|
|00003010| 5d 54 e5 01 00 48 57 41 | 50 01 02 9a e1 5a f5 57 |]T...HWA|P....Z.W|
|00003020| 41 5a 4f 5a 4f 5d e4 03 | a8 2e 1e 1f 60 0a e1 3b |AZOZO]..|....`..;|
|00003030| 06 66 69 6c 65 2e 63 b4 | 02 00 00 00 54 45 58 54 |.file.c.|....TEXT|
|00003040| 4b 41 48 4c 01 00 00 a0 | 00 00 00 00 00 00 19 8a |KAHL....|........|
|00003050| 00 00 54 45 58 54 4b 41 | 48 4c 01 00 00 a0 00 00 |..TEXTKA|HL......|
|00003060| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003070| 00 00 a9 69 8a 34 00 00 | 2f 44 00 00 02 00 65 72 |...i.4..|/D....er|
|00003080| 00 12 08 01 00 00 00 be | 12 03 00 00 00 00 01 0e |........|........|
|00003090| 68 66 63 4b 59 4d c8 b8 | 99 4b 01 04 28 50 01 04 |hfcKYM..|.K..(P..|
|000030a0| d2 b4 83 01 20 80 59 4d | 02 4a 90 67 1e 58 02 31 |.... .YM|.J.g.X.1|
|000030b0| 7c 00 80 b5 59 4d 58 02 | 21 7c 7f ff 6c 4f 01 1d ||...YMX.|!|..lO..|
|000030c0| 7c 66 4f c3 d4 4f 65 83 | 01 58 4f ad 63 f2 02 42 ||fO..Oe.|.XO.c..B|
|000030d0| 6d f9 b6 e1 11 48 6d 01 | f9 c4 4c 01 ff a2 11 10 |m....Hm.|..L.....|
|000030e0| 1f 01 67 28 e1 23 01 f9 | c0 4c 01 ff 94 24 01 67 |..g(.#..|.L...$.g|
|000030f0| 1a e1 23 01 f9 bc 4c 01 | ff 86 24 d6 e1 23 01 f9 |..#...L.|..$..#..|
|00003100| 00 00 00 ca 00 08 00 00 | 0c 1a 00 00 0c 2a 11 4d |........|.....*.M|
|00003110| 79 46 53 4c 6f 61 64 44 | 6f 63 75 6d 65 6e 74 00 |yFSLoadD|ocument.|
|00003120| 00 00 13 bb 00 00 13 d0 | 15 4d 79 49 73 57 69 6e |........|.MyIsWin|
|00003130| 64 6f 77 41 6c 72 65 61 | 64 79 4f 70 65 6e 00 00 |dowAlrea|dyOpen..|
|00003140| 03 3d 00 00 03 4b 0f 4d | 79 4c 6f 61 64 44 6f 63 |.=...K.M|yLoadDoc|
|00003150| 75 6d 65 6e 74 00 00 00 | 27 00 00 00 27 0f 0f 4d |ument...|'...'..M|
|00003160| 79 4c 6f 61 64 50 61 67 | 65 43 6f 75 6e 74 00 00 |yLoadPag|eCount..|
|00003170| 2d 25 00 00 2d 34 0f 4d | 79 4c 6f 61 64 50 72 69 |-%..-4.M|yLoadPri|
|00003180| 6e 74 49 6e 66 6f 00 00 | 18 41 00 00 18 4f 0f 4d |ntInfo..|.A...O.M|
|00003190| 79 53 61 76 65 44 6f 63 | 75 6d 65 6e 74 00 00 00 |ySaveDoc|ument...|
|000031a0| 22 c0 00 00 22 cf 0f 4d | 79 53 61 76 65 50 61 67 |"..."..M|ySavePag|
|000031b0| 65 43 6f 75 6e 74 00 00 | 29 87 00 00 29 96 0f 4d |eCount..|)...)..M|
|000031c0| 79 53 61 76 65 50 72 69 | 6e 74 49 6e 66 6f 00 00 |ySavePri|ntInfo..|
|000031d0| 01 00 00 00 01 ce 00 00 | 00 ce 00 00 00 32 00 e1 |........|.....2..|
|000031e0| cd 20 1f f4 00 00 00 1c | 00 32 00 00 4d 50 53 52 |. ......|.2..MPSR|
|000031f0| 00 00 00 0a 03 ef ff ff | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+